I was able to introduce some pretty hefty optimizations that eliminated the need for a lot of the manual bit-twiddling this library was doing. Benchmarks show a massive improvement in speed and memory usage. I didn't check any benchmarks in because running them seems to crash my machine 😭.
Changed
- Inspecting an IntSet now returns a string using
IntString.new([1, 2, 3, ...])
syntax. - The internal binary that IntSet uses to store values is now always byte-aligned, and each byte has changed endianness to allow for some internal optimizations.
- Binaries returned by
IntSet.bitstring/1
is now always byte-aligned.
Removed
- BREAKING: The
byte_align
option forIntSet.bitstring/1
was removed.