Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
gaissmai committed Apr 30, 2024
1 parent dfeafd0 commit e46fb58
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand Down

0 comments on commit e46fb58

Please sign in to comment.