From 356dd1d03e78a2f10be1ffcc229b89e049699dde Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Wed, 15 Jun 2016 11:02:07 -0400 Subject: [PATCH] improve map-vals benchmark --- scripts/benchmarks.clj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/benchmarks.clj b/scripts/benchmarks.clj index 8db376a..e74a46b 100644 --- a/scripts/benchmarks.clj +++ b/scripts/benchmarks.clj @@ -88,6 +88,7 @@ (run-benchmark "transform values of a small map" 1000000 (into {} (for [[k v] data] [k (inc v)])) (reduce-kv (fn [m k v] (assoc m k (inc v))) {} data) + (persistent! (reduce-kv (fn [m k v] (assoc! m k (inc v))) (transient {}) data)) (reduce-kv (fn [m k v] (assoc m k (inc v))) (empty data) data) (transform [ALL LAST] inc data) (transform MAP-VALS inc data) @@ -98,6 +99,7 @@ (run-benchmark "transform values of large map" 1000 (into {} (for [[k v] data] [k (inc v)])) (reduce-kv (fn [m k v] (assoc m k (inc v))) {} data) + (persistent! (reduce-kv (fn [m k v] (assoc! m k (inc v))) (transient {}) data)) (reduce-kv (fn [m k v] (assoc m k (inc v))) (empty data) data) (transform [ALL LAST] inc data) (transform MAP-VALS inc data)