another benchmark case for map values transform
This commit is contained in:
parent
78a84959d2
commit
64afc6835a
1 changed files with 13 additions and 0 deletions
|
|
@ -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}]
|
(let [data {:a 1 :b 2 :c 3 :d 4}]
|
||||||
(run-benchmark "transform values of a map" 6 1000000
|
(run-benchmark "transform values of a map" 6 1000000
|
||||||
(into {} (for [[k v] data] [k (inc v)]))
|
(into {} (for [[k v] data] [k (inc v)]))
|
||||||
(reduce-kv (fn [m k v] (assoc m k (inc v))) {} data)
|
(reduce-kv (fn [m k v] (assoc m k (inc v))) {} data)
|
||||||
|
(manual-similar-reduce-kv data)
|
||||||
(transform [ALL LAST] inc data)
|
(transform [ALL LAST] inc data)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue