Releases: gaissmai/bart
v0.21.1
lock-free persistence
lock-free persistence is ready to us
retracts v0.20.5
v0.20.6 sorry, there is a bug in v0.20.5
bug fix in InsertPersist
v0.20.5 fix data race in InsertPersist
v0.20.4
Release v0.20.3
the fixed BitSet256 allowed to tighten some types to uint8
Release v0.20.2
only minor modifications, better tests and better benchmarks and one simplication in overlaps
fix purgeAndCompress for fringes
and some refactoring
Release v0.20.0
Now with fringe compression, this saves 50% of memory on realworld routing tables with a lot of /16, /24, /32, /40 ... prefixes. Roughly 22Bytes/Prefix is needed for the full Tier1 routing table, approximately 22MBytes.
Release v0.19.0
Split the prefixes at fix 8bit borders, handle the fringes at /32 and /128 extra.
This results in a fixed bitset lenght of 256 bits, we need no longer 512 bits for the first node with bits from [0-8],
we split now on [0-7][8-15][16-23][24-31][32] and the same scheme for for IPv6.
With the fixed bitset length to 256 we can do a lot of compiler tricks in the BitSet256 library.
One could truly imagine special hardware, since the actual algorithm consists
of a few standardized bitset operations on a fixed length of 256 bits.
The memory consumption increases again, since in the full internet routing table most of the routes
are aggegated to /8, /16, /24, /32, /40, /48. In the old algorithm these (call it fringe) routes were put
in the prefixes, but know they live mostly as path-compressed leaf as prefixes/values (with at least 40 bytes).