I recently spoke at BOBKonf 2017 in Berlin, Germany. With my co-speaker, Peter Schuck, I reported on performance improvements to ClojureScript’s hash map data structure based on a paper by Michael Steindorfer and Jurgen Vinju.
Peter implemented the paper’s CHAMP algorithm in ClojureScript resulting in 2x performance improvements for iteration and 10-100x improvements for equality checking.
That means that equality checking using the CHAMP algorithm in ClojureScript improves by an order of magnitude in the worst case, when hash maps don’t share structure, and by two orders of magnitude in the case where hash maps share the same structure. Coming from a background in biological sciences, it’s rare to see such definitive results!