Top all-time · #4011
Bannalia: trivial notes on themes diverse
Personal blog · bannalia.blogspot.comprogrammingsystems
Bannalia: trivial notes on themes diverse is a personal blog at bannalia.blogspot.com about programming and systems. Since 2013, 19 different Hacker News readers have linked it 64 times, most often “Inside boost::unordered_flat_map”. It is still writing: the last post was on 2026-09-14, and you can follow it by feed.
Too few sampled comments (8) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for posts on C++ hash table performance, benchmarks, cache-friendly binary search and polymorphic containers. The comments cite these posts as sources or background.
Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Inside boost::unordered_flat_map3 people · 3 mentions · first linked 2022-11-18
- Trip June 2025 ISO C++ standards meeting2 people · 3 mentions · first linked 2024-05-23
- Advancing the state of the art for std:unordered_map implementations2 people · 3 mentions · first linked 2022-06-18
- Cache-friendly binary search2 people · 2 mentions · first linked 2015-06-24
- Bulk Operations in Boost.Bloom2 people · 2 mentions · first linked 2025-10-06
- Cache-Friendly Binary Search (2015)2 people · 2 mentions · first linked 2020-10-17
- /2022/11/inside-boostunorderedflatmap.html2 people · 2 mentions · first linked 2024-11-26
- A better hash table: GCC2 people · 2 mentions · first linked 2014-01-18
- C++: Maps on Chains2 people · 2 mentions · first linked 2025-07-11
- C++ encapsulation for Data-Oriented Design: performance2 people · 2 mentions · first linked 2015-09-06
What Hacker News says?
The reddit thread mentions that the author was probably going to write a blog post about it at some point; I went and found it so you don't have to. I was curious what exactly differentiates boost::unordered_flat_map from absl::flat_hash_map, and was not disappointed. It seems that the lion's share of the performance improvement comes from using more of the metadata for the reduced hash value, although there are a f…
Comment linking /2022/11/inside-boostunorderedflatmap.html
on “The two factions of C++”Submitted Inside boost::unordered_flat_map as a story · 117 points
HN discussionIsn't that the same principle that e.g. https://www.boost.org/doc/libs/master/doc/html/poly_collecti... which has existed since 2016 and described since 2014 (at least: https://bannalia.blogspot.com/2014/05/fast-polymorphic-colle... ) ?
Comment linking /2014/05/fast-polymorphic-collections.html
on “Unity patents ECS”Submitted The perfect shape as a story · 99 points
HN discussionHere is a writeup of the idea and some numbers. http://bannalia.blogspot.com/2015/06/cache-friendly-binary-s...
Comment linking /2015/06/cache-friendly-binary-search.html
on “Use perfect hashing, instead of binary search, for keyword lookup”Submitted Advancing the state of the art for std:unordered_map implementations as a story · 87 points
HN discussionFil-C[0] can compile GNU coreutils, it has stronger* memory safety guarantees than rust, none of the compatibility issues that a wholesale rewrite has, and performance that seems to be within about a factor of two[1] compared to the normally compiled code.. [0]: https://fil-c.org/ . [1]: https://bannalia.blogspot.com/2025/11/comparing-run-time-per... * Guaranteed to crash rather than potentially grant arbitrary code…
Comment linking /2025/11/comparing-run-time-performance-of-fil-c.html
on “Ubuntu 26.10 completes transition to Rust-based coreutils”Submitted Cache-friendly binary search as a story · 81 points
HN discussionIt's worth mentioning that boost.unordered now also has a state-of-the-art open adressing hashtable (boost::unordered_flat_map) that beats abseil in some benchmarks, particularly for unsuccessful look-up: https://bannalia.blogspot.com/2022/11/inside-boostunorderedf...
Comment linking /2022/11/inside-boostunorderedflatmap.html?m=1
on “SIMD within a register: How I doubled hash table lookup performance”Submitted C++: Maps on Chains as a story · 47 points
HN discussionYou might also consult the entries given below, which take into account some late improvements in Boost.MultiIndex not present at the beginning of the series: http://bannalia.blogspot.com/2014/01/a-better-hash-table.htm... http://bannalia.blogspot.com/2014/01/a-better-hash-table-gcc... http://bannalia.blogspot.com/2014/01/a-better-hash-table-cla...
Comment linking /2014/01/a-better-hash-table-clang.html
on “Graph Engine vs. C++ unordered_map: memory consumption test, Part 2”Submitted C++ encapsulation for Data-Oriented Design as a story · 44 points
HN discussionAnd for C++, http://bannalia.blogspot.com/2014/01/a-better-hash-table-gcc... shows significant differences between 3 different implementations of the same API (and which one is fastest varies between operations, as they're optimized for different things).
Comment linking /2014/01/a-better-hash-table-gcc.html
on “Benchmarking hash table implementations: C++, Java, LuaJIT”Submitted Monadic lifting in C++ as a story · 33 points
HN discussionI once did have a need for binary search in memory mapped files and I experimented with Eytzinger layout (which I learned from https://bannalia.blogspot.com/2015/06/cache-friendly-binary-... ). It turned out that it was slower than plain binary search, I think because keys I was looking up were often clumped together thus it played quite well with cache anyway.
Comment linking /2015/06/cache-friendly-binary-search.html
on “You can beat the binary search”Submitted Deferred Argument Evaluation as a story · 24 points
HN discussionNote that this benchmark does not include boost::unordered_flat_map. This is an open addressing variant of boost::unordered_map which has only been released in December 2022. I wanted to mention this because boost::unordered_flat_map and boost::unordered_flat_set are among the fastest open addressing hash containers in C++ land. Internally, they use lots of cool SIMD tricks. If anyone is interested in the details, h…
Comment linking /2022/11/inside-boostunorderedflatmap.html
on “Comprehensive C++ Hashmap Benchmarks (2022)”Submitted Traversing a linearized tree as a story · 21 points
HN discussionSubmitted Bulk Operations in Boost.Bloom as a story · 16 points
HN discussionSubmitted Design patterns for invariant suspension as a story · 11 points
HN discussionSubmitted Climbing down the tree as a story · 8 points
HN discussionSubmitted C++ encapsulation for Data-Oriented Design: performance as a story · 7 points
HN discussionSubmitted Advancing the state of the art for std:unordered_map implementations as a story · 6 points
HN discussionSubmitted Trip June 2025 ISO C++ standards meeting as a story · 5 points
HN discussionSubmitted SOA container for encapsulated C++ DOD as a story · 4 points
HN discussionSubmitted Comparing the run-time performance of Fil-C and ASAN as a story · 3 points
HN discussionSubmitted Maps on Chains as a story · 3 points
HN discussionSubmitted C++ Boost:Unordered_flat_map as a story · 3 points
HN discussionSubmitted WG21, Boost and Ways of Standardization as a story · 3 points
HN discussionSubmitted Bulk Visitation in Boost:Concurrent_flat_map as a story · 3 points
HN discussion