bones
bones copied to clipboard
Migrate Bitsets to Roaring Bitsets
Currently we use bitset_core
for our bitsets, but I believe we could benefit in terms of performance and memory usage by using the roaring
crate, which uses compressed bitsets. Being that our bitsets are, in most cases, extremely sparse, I think this could really help.
Eventually we probably want to do even better by moving to something like linked list storage instead of using bitsets and sparse vectors, but switching to roaring bitmaps should be a very easy change that could get us a lot of improvement.
We should see if we can profile Jumpy to see if there is any noticeable change in performance after the change. Even if it doesn't make it any faster, it should use up a lot less memory, which is a win as long as it isn't somehow slower.