Skip to content

Releases: gaissmai/bart

v0.21.1

17 Jul 14:05

Choose a tag to compare

just better tests and documentation

lock-free persistence

16 Jul 16:21

Choose a tag to compare

lock-free persistence is ready to us

retracts v0.20.5

14 Jul 22:08

Choose a tag to compare

v0.20.6

sorry, there is a bug in v0.20.5

bug fix in InsertPersist

12 Jul 21:19

Choose a tag to compare

v0.20.5

fix data race in InsertPersist

v0.20.4

14 Apr 18:23

Choose a tag to compare

relax required go version to go 1.23.0

Release v0.20.3

06 Apr 18:04

Choose a tag to compare

the fixed BitSet256 allowed to tighten some types to uint8

Release v0.20.2

05 Apr 21:05

Choose a tag to compare

only minor modifications, better tests and better benchmarks and one simplication in overlaps

fix purgeAndCompress for fringes

28 Mar 21:05

Choose a tag to compare

and some refactoring

Release v0.20.0

23 Mar 19:00

Choose a tag to compare

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

16 Mar 21:58

Choose a tag to compare

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).