From 50c176ba4825bf0370b7f2b67ca45eb314c7ef48 Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Wed, 8 Jun 2016 06:57:15 -0400 Subject: [PATCH] reinstate one-at-at-time vector append benchmark --- scripts/benchmarks.clj | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/benchmarks.clj b/scripts/benchmarks.clj index 52b527f..475413c 100644 --- a/scripts/benchmarks.clj +++ b/scripts/benchmarks.clj @@ -163,12 +163,21 @@ (setval END toappend []) (setval END! toappend (transient [])))) +(let [toappend (range 1000)] + (run-benchmark "transient comparison: building up vectors one at a time" + 10000 + (reduce (fn [v i] (conj v i)) [] toappend) + (reduce (fn [v i] (conj! v i)) (transient []) toappend) + (reduce (fn [v i] (setval END [i] v)) [] toappend) + (reduce (fn [v i] (setval END! [i] v)) (transient []) toappend) + )) + (let [data (vec (range 1000)) tdata (transient data) tdata2 (transient data) idx 600] (run-benchmark "transient comparison: assoc'ing in vectors" - 500000 + 2500000 (assoc data idx 0) (assoc! tdata idx 0) (setval (keypath idx) 0 data) @@ -180,7 +189,7 @@ tdata2 (transient data) idx 600] (run-benchmark "transient comparison: assoc'ing in maps" - 500000 + 2500000 (assoc data idx 0) (assoc! tdata idx 0) (setval (keypath idx) 0 data)