From e46fb580a64db2dbf8ba3dbfd4e8d11734837857 Mon Sep 17 00:00:00 2001 From: Karl Gaissmaier Date: Tue, 30 Apr 2024 07:31:43 +0200 Subject: [PATCH] Update README --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index dba83d7..f19976b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## ATTENTION: API change!!! -API change again, Walk() is ready for range-over-func iterators and renamed to All(). +API change, Walk() got a signatur change and renamded to All(), ready for range-over-func iterations. ## Overview @@ -22,18 +22,17 @@ The lookup time is by a factor of ~2 slower on average as the routing algorithms ART, SMART, CPE, ... but reduces the memory consumption by an order of magnitude in comparison. -BART is a multibit-trie, using the _baseIndex_ function from the -ART algorithm to build the complete binary prefix tree (CBT) -for each stride. The stride has a fixed length of 8 bits. +BART is a multibit-trie with fixed stride length of 8 bits, +using the _baseIndex_ function from the ART algorithm to +build the complete-binary-tree (CBT) of prefixes for each stride. The second key factor is popcount array compression at each stride level -and backtracking along the CBT prefix tree in O(k). +of the CBT prefix tree and backtracking along the CBT in O(k). The CBT is implemented as a bitvector, backtracking is just a matter of fast cache friendly bitmask operations. -Due to the cache locality of the popcount compressed CBT, -the backtracking algorithm is as fast as possible. +The child array at each stride level is also popcount compressed. ## API