| ▲ | A cache-friendly IPv6 LPM with AVX-512 (linearized B+-tree, real BGP benchmarks)(github.com) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 points by debugga 10 hours ago | 19 comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | debugga 10 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Clean-room, portable C++17 implementation of the PlanB IPv6 LPM algorithm. Includes: - AVX-512 SIMD path + scalar fallback - Wait-free lookups with rebuild-and-swap dynamic FIB - Benchmarks on synthetic data and real RIPE RIS BGP (~254K prefixes) Interesting result: on real BGP + uniform random lookups, a plain Patricia trie can sometimes match or beat the SIMD tree due to cache locality and early exits. Would love feedback, especially comparisons with PopTrie / CP-Trie. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | throwaway81523 6 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IPv6 longest-prefix-match (LPM). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ozgrakkurt 8 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Why detect avx512 in build system instead of using #ifdef ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | NooneAtAll3 7 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I wonder how this would look like in risc-v vector instructions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | sylware 5 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sad it is c++. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||