Настроение: | accomplished |
Entry tags: | computing |
The Best Bitmap Implementation
What I found that is that uint64_t keyed bitmaps with constant uint256_t pages work best.
uint256_t is large enough to remove the cache factor on my CPU.
Since uint256_t fits inside a 32byte cache line.
That works as long as the open hashing keeps keys separate from values.
Such scheme would be super easy to implement.
Unfortunately only Clang supports uint256_t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102989
So I will have to parametrize the page size with a bunch of messy macros.