- Published on
파이썬 `dict`, 자바 `HashMap`, 러스트 `HashMap`, C++ `unordered_map`, Go `map` — 매일 쓰는 이 자료구조들이 왜 전혀 다르게 구현됐는가. 80년대 체이닝부터 2017년 Google Swiss Table까지, 해시 테이블이 30배 빨라진 진화 과정. Java가 8.0에서 Red-Black Tree로 떨어지는 이유, Rust가 왜 느린 SipHash를 기본으로 쓰는지, Robin Hood hashing의 공평함, SIMD로 16개 버킷을 병렬 비교하는 Swiss Table의 마법까지. 매일 쓰는 Map 뒤의 수십 년 엔지니어링.