And more numbers. d-small does not contain vectors with more than 50 elements, so the unrolled version should always hit a special case in this run. However it's still twice as slow as the eager versions. The lazy version is still the fastest.
user=> (bench (doall (flatten-maps d-small))) Evaluation count : 178800 Execution time mean : 339,323714 us 95,0% CI: (339,289416 us, 339,355491 us) Execution time std-deviation : 230,980191 us 95,0% CI: (227,899625 us, 233,485542 us) Found 4 outliers in 60 samples (6,6667 %) low-severe 1 (1,6667 %) low-mild 3 (5,0000 %) Variance from outliers : 1,6389 % Variance is slightly inflated by outliers nil user=> (bench (doall (flatten-maps-lazy d-small))) Evaluation count : 566940 Execution time mean : 107,110779 us 95,0% CI: (107,091586 us, 107,128627 us) Execution time std-deviation : 191,129374 us 95,0% CI: (188,661708 us, 194,471356 us) Found 6 outliers in 60 samples (10,0000 %) low-severe 3 (5,0000 %) low-mild 3 (5,0000 %) Variance from outliers : 7,7967 % Variance is slightly inflated by outliers nil user=> (bench (flatten-maps-eager d-small)) Evaluation count : 300180 Execution time mean : 200,602507 us 95,0% CI: (200,593358 us, 200,612076 us) Execution time std-deviation : 74,282029 us 95,0% CI: (73,775380 us, 74,737722 us) Found 5 outliers in 60 samples (8,3333 %) low-severe 5 (8,3333 %) Variance from outliers : 1,6389 % Variance is slightly inflated by outliers nil user=> (bench (flatten-maps-eager2 d-small)) Evaluation count : 378240 Execution time mean : 160,993940 us 95,0% CI: (160,986922 us, 161,004688 us) Execution time std-deviation : 92,671071 us 95,0% CI: (92,092872 us, 93,203776 us) Found 2 outliers in 60 samples (3,3333 %) low-severe 2 (3,3333 %) Variance from outliers : 1,6389 % Variance is slightly inflated by outliers nil user=> (bench (flatten-maps-recur d-small)) Evaluation count : 414120 Execution time mean : 144,263391 us 95,0% CI: (144,256078 us, 144,274633 us) Execution time std-deviation : 93,741441 us 95,0% CI: (92,933787 us, 94,772247 us) Found 2 outliers in 60 samples (3,3333 %) low-severe 2 (3,3333 %) Variance from outliers : 1,6389 % Variance is slightly inflated by outliers nil user=> (bench (doall (flatten-maps-unrolled {:a 1 :b 2 :c d-small}))) Evaluation count : 199980 Execution time mean : 305,349926 us 95,0% CI: (305,318154 us, 305,379684 us) Execution time std-deviation : 207,748680 us 95,0% CI: (206,662722 us, 208,693183 us) Found 1 outliers in 60 samples (1,6667 %) low-severe 1 (1,6667 %) Variance from outliers : 1,6389 % Variance is slightly inflated by outliers nil -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en