Vers 1.3.0 released: Succinct Datastructures now for all platforms

55 points Cydhra

It has been 7 months since I last wrote about this project. I released a bunch of succinct data structures that are all based on fast rank and select queries.

Back then, it was the fastest implementation that I could find on crates.io, though the comments made me aware of a few more libraries that outperform Vers in some of its functionality (though with significantly higher memory requirements).

Up until now, the library depended on a bunch of x86 intrinsics for its performance and was thus limited to this platform. However, I have just released version 1.3.0 which lifts this requirement. While the intrinsics, when enabled, still provide 60-70% speedup (100% would be a 0-cycle instruction, not just double speed), they are not mandatory anymore.

This was possible due to the bitintr crate. Sadly, it seems abandoned and its crates version is outdated, so I took the liberty of redistributing the small parts of it that I actually need and did not add it as a dependency.

Other releases since my last post mainly polished the API and added functionality to the bit vector and faster iterators that exploit the helper data structures for rank and select.

Links

GitHub: https://github.com/Cydhra/vers (you can find up-to-date benchmark results here)

crates.io: https://crates.io/crates/vers-vecs