Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I also did some experimenting with number packing and ended up creating a QuickSet implementation[0]. However, it turned out that operating on TypedArrays proved more performant, which I settled on in the end. I've collected some related packages here:

[0]: https://github.com/dleeftink/QuickSet

[1]: https://github.com/dleeftink/QuickSet?tab=readme-ov-file#see...

Of note is FastIntSet, which uses the technique you described, but I think is only able to store 4 unsigned integers as one JS value (I might be wrong).

[2]: https://github.com/TheLucifurry/fast-int-set/blob/main/src/s...

This notebook demonstrate a MVP bitpacking technique using BigInts (see the 'bitpack' and 'pack' cells):

[3]: https://observablehq.com/@dleeftink/array-bitbuffers

SimSIMD offers various similarity measures and quantisation levels for TypedArrays:

[4]: https://github.com/ashvardanian/simsimd#using-simsimd-in-jav...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: