You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
arXiv:1709.07821 Roaring Bitmaps: Implementation of an Optimized Software Library (Section 4.1.1) (Section 3.2)
Cardinality tracking was added in #127, however we're leaving some perf on the floor.
We also find that if we use bit-manipulation instructions and hand-tuned assembly, we can roughly
double the speed at which we can change bits in a bitset, compared to compiler-generated machine
code with all optimization flags activated. It is true not only when setting bits, but also when clearing
or flipping them—in which cases we need to use the btr and btc instructions instead. Informally,
we tested various C compilers and could not find any that could perform nearly as well as hand-tuned
assembly code. This may, of course, change in the future.
arXiv:1709.07821 Roaring Bitmaps: Implementation of an Optimized Software Library (Section 4.1.1) (Section 3.2)
Cardinality tracking was added in #127, however we're leaving some perf on the floor.
CRoaring source
Planning
bts
but notsbb
, perhaps we can write rust that compiles to the asm we wantasm!
macro (nightly only), or if want it in stable then we can write a small C lib for the asm and link itThe text was updated successfully, but these errors were encountered: