I read the Garbage Collection Guide. He says that when you make a card table, they use a bytemap instead of a bitmap and say it is faster than a bitmap due to the high caching speed? But, as I know, the cache line is usually 64 bytes, if we make changes in the byte, the racing dispute still exists, another processor will invalidate the line anyway, it's the same as a bit card, can anyone to help?
Not sure if I understood the context correctly, but overall:
bitmap access
BYTE/WORD/..., / .
, 8- , :
BYTE map[];
:
readed_bit=(map[bit>>3]>>(bit&7))&1;
map[bit>>3]|=1<<(bit&7);
map[bit>>3]&=255^(1<<(bit&7));
bit - , . , .
bit
BYTE
readed_byte=map[byte];
map[byte]=1;
map[byte]=0;
byte - BYTE, . , , .
byte
, HW, , BYTE ... , , , ...
Source: https://habr.com/ru/post/1694563/More articles:Can I guarantee atomic addition in Ruby? - linuxPython cumulative map - pythonMake .deb for JDK8 with JavaPackage - javaHow to eliminate related types within the boundaries of object objects? - genericsUsing the webpack work loader with nuxt.js - webpackHow to crop rectangular shapes in an image using Python - pythonLinked view over view For a specific area in andriod - androidHow to create an application in the PowerBI AppSource application market similar to App Salesforce Reports - salesforcehow to set value in javascript entry? - javascriptSelected item not shown in spinner kotlin - androidAll Articles