This file shows the newly added benchmarks before and after applying CLJS-2445.patch. Before: Benchmarking with V8 ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 438 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 397 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 290 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 212 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 276 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 171 msecs [], (doall (repeat 1000 1)), 1000 runs, 278 msecs [], (into [] (repeat 1000 1)), 1000 runs, 316 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 278 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 175 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 188 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 103 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 203 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 147 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 289 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 188 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 188 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 110 msecs Benchmarking with SpiderMonkey ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 295 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 220 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 188 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 135 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 232 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 133 msecs [], (doall (repeat 1000 1)), 1000 runs, 175 msecs [], (into [] (repeat 1000 1)), 1000 runs, 202 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 189 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 117 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 107 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 59 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 118 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 83 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 218 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 128 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 118 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 64 msecs Benchmarking with JavaScriptCore ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 217 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 193 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 143 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 120 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 132 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 123 msecs [], (doall (repeat 1000 1)), 1000 runs, 136 msecs [], (into [] (repeat 1000 1)), 1000 runs, 178 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 150 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 116 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 100 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 62 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 108 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 84 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 153 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 129 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 102 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 70 msecs Benchmarking with Nashorn ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 10500 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 1715 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 1205 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 1072 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 466 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 422 msecs [], (doall (repeat 1000 1)), 1000 runs, 355 msecs [], (into [] (repeat 1000 1)), 1000 runs, 575 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 476 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 444 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 319 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 168 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 309 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 220 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 511 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 362 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 342 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 178 msecs Benchmarking with ChakraCore ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 921 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 674 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 538 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 434 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 492 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 344 msecs [], (doall (repeat 1000 1)), 1000 runs, 493 msecs [], (into [] (repeat 1000 1)), 1000 runs, 619 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 506 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 333 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 328 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 217 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 356 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 302 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 639 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 477 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 412 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 296 msecs After: Benchmarking with V8 ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 252 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 146 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 150 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 57 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 194 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 42 msecs [], (doall (repeat 1000 1)), 1000 runs, 48 msecs [], (into [] (repeat 1000 1)), 1000 runs, 41 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 9 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 40 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 125 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 23 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 108 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 24 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 220 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 41 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 132 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 24 msecs Benchmarking with SpiderMonkey ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 168 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 71 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 102 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 29 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 134 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 37 msecs [], (doall (repeat 1000 1)), 1000 runs, 44 msecs [], (into [] (repeat 1000 1)), 1000 runs, 32 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 9 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 36 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 67 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 15 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 61 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 13 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 168 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 37 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 91 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 14 msecs Benchmarking with JavaScriptCore ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 134 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 85 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 75 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 44 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 81 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 47 msecs [], (doall (repeat 1000 1)), 1000 runs, 26 msecs [], (into [] (repeat 1000 1)), 1000 runs, 21 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 10 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 46 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 56 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 21 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 50 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 17 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 114 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 48 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 63 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 21 msecs Benchmarking with Nashorn ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 42800 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 7162 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 30048 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 1849 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 2815 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 1149 msecs [], (doall (repeat 1000 1)), 1000 runs, 154 msecs [], (into [] (repeat 1000 1)), 1000 runs, 235 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 144 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 147 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 381 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 454 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 949 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 164 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 2039 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 377 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 908 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 124 msecs Benchmarking with ChakraCore ;; cycle [], (doall (take 1000 (cycle [1 2 3]))), 1000 runs, 766 msecs [], (into [] (take 1000) (cycle [1 2 3])), 1000 runs, 132 msecs [], (reduce + (take 64 (cycle [1 2 3]))), 10000 runs, 451 msecs [], (transduce (take 64) + (cycle [1 2 3])), 10000 runs, 81 msecs ;; repeat [], (doall (take 1000 (repeat 1))), 1000 runs, 470 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 70 msecs [], (doall (repeat 1000 1)), 1000 runs, 41 msecs [], (into [] (repeat 1000 1)), 1000 runs, 91 msecs [], (reduce + 0 (repeat 1000 1)), 1000 runs, 8 msecs [], (into [] (take 1000) (repeat 1)), 1000 runs, 71 msecs [], (reduce + (take 64 (repeat 1))), 10000 runs, 303 msecs [], (transduce (take 64) + (repeat 1)), 10000 runs, 45 msecs [], (reduce + (take 64 (repeat 48 1))), 10000 runs, 244 msecs [], (transduce (take 64) + (repeat 48 1)), 10000 runs, 39 msecs ;; iterate [], (doall (take 1000 (iterate inc 0))), 1000 runs, 592 msecs [], (into [] (take 1000) (iterate inc 0)), 1000 runs, 151 msecs [], (reduce + (take 64 (iterate inc 0))), 10000 runs, 391 msecs [], (transduce (take 64) + (iterate inc 0)), 10000 runs, 103 msecs