another benchmark case for map values transform

This commit is contained in:
Nathan Marz 2016-06-05 12:02:24 -04:00
parent 78a84959d2
commit 64afc6835a

View file

@ -88,10 +88,23 @@
))
(defn- update-pair [[k v]]
[k (inc v)])
(defn manual-similar-reduce-kv [data]
(reduce-kv
(fn [m k v]
(let [[newk newv] (update-pair [k v])]
(assoc m newk newv)))
{}
data
))
(let [data {:a 1 :b 2 :c 3 :d 4}]
(run-benchmark "transform values of a map" 6 1000000
(into {} (for [[k v] data] [k (inc v)]))
(reduce-kv (fn [m k v] (assoc m k (inc v))) {} data)
(manual-similar-reduce-kv data)
(transform [ALL LAST] inc data)
))