Skip to content

Releases: gaissmai/bart

Release v0.20.0

23 Mar 19:00
Compare
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
Compare
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).

Release v0.18.1

28 Feb 21:18
Compare
Choose a tag to compare

add a Lite version for plain longest-prefix matches with a minimal method set

Release v0.18.0

12 Feb 08:34
Compare
Choose a tag to compare
  • bump go version to 1.23
  • add persist methods for lock-free updates, still experimentell

Release v0.17.10

09 Feb 16:43
Compare
Choose a tag to compare

minor glitch with public const in dumper.go for internal use only

Release v0.17.9

09 Feb 14:42
Compare
Choose a tag to compare

fix: overlap bug, slipped in with path compression

Release v0.17.8

12 Jan 22:53
Compare
Choose a tag to compare
  • make it clear that a table must not be copied as value
  • add a _ noCopy struct field

Release v0.17.7

12 Jan 19:16
Compare
Choose a tag to compare

squeeze the last nanoseconds out of the lemon

Release v0.17.6

11 Jan 09:39
Compare
Choose a tag to compare

one more goesUps!

Release v0.17.5

10 Jan 19:41
Compare
Choose a tag to compare
  • coming to an end of possible improvements