Affects versions: None
Fix versions: None
0001-PersistentHashMap-ported-from-Clojure.patch contains a port of Clojure's PersistentHashMap.
0002-...-.patch rewires cljs.core/hash-map and cljs.compiler/emit's :map method to use cljs.core.PersistentHashMap. With that in place, the regular cljs test suite runs fine.
As a quick sanity check,
runs fine under Rhino. Timing this loop produces the expected results: it takes 1.1s on my machine as written above and 10.5s with cljs.core.HashMap/EMPTY bound to m. With 100000 iterations, PersistentHashMap takes 11.8s, whereas HashMap takes forever.
- iron out any remaining bugs, add in missing protocols (if any) etc.,
- test HashCollisionNode and related code,
- use other map types for small maps and switch at some threshold.