From 64afc6835aab2b22c72f4751a9742f0d889c6377 Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Sun, 5 Jun 2016 12:02:24 -0400 Subject: [PATCH] another benchmark case for map values transform --- scripts/benchmarks.clj | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/benchmarks.clj b/scripts/benchmarks.clj index 135af19..0516f52 100644 --- a/scripts/benchmarks.clj +++ b/scripts/benchmarks.clj @@ -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) ))