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.

Cliff Rodgers & Peter Schuck presenting at BOBKonf 2017.
Cliff Rodgers & Peter Schuck presenting at BOBKonf 2017.

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!

You can find our talk on BOB’s YouTube page, alongside the other presentations on topics as varied as computing Bayesian classifiers on GPUs in Clojure, functional programming in JavaScript, Graph databases, Haskell, and more as they get uploaded.