Get the latest tech news
Real-world performance comparison of ebtree/cebtree/rbtree
In the previous synthetic comparison between ebtree and cebtree it was quite clear that performance varies quite a bit between key types, k...
The patterns were mostly identical on both devices, showing different inflexion points due to cache sizes, and higher general costs for the Arm running at a lower frequency. It perfectly illustrates something that we had observed in haproxy a long time ago (in version 1.2) when rbtrees were being used for the scheduler: the cost of rebalancing and the resulting imbalance are overkill for such regularly distributed keys. They suffer from large keys due to the descent algorithm that requires to XOR the two next branches in order to figure where the split bit is located, hence consuming more memory bandwidth.
Or read this on Hacker News