Aight. Here are the updated benchmarks. Heap size set to 1G by default, Java run with -server; I also got myself some shiny statistics machinery in Haskell.
The really short summary: they're... about the same? Summary: IntMap Java HAMT (32K-512K) Java HAMT (512K-32K) 32K .035s .100s .042s 64K .085s .077s .088s 128K .190s .173s .166s 256K .439s .376s .483s 512K 1.047s 1.107s 1.113s In detail, IntMap: benchmarking intmap/32000 collecting 20 samples, 1 iterations each, in estimated 820.9419 ms bootstrapping with 100000 resamples mean: 35.01358 ms, lb 34.11121 ms, ub 36.47188 ms, ci 0.950 std dev: 2.629518 ms, lb 1.464889 ms, ub 3.820059 ms, ci 0.950 found 2 outliers among 20 samples (10.0%) 2 (10.0%) high severe variance introduced by outliers: 4.965% variance is slightly inflated by outliers benchmarking intmap/64000 collecting 20 samples, 1 iterations each, in estimated 1.794639 s bootstrapping with 100000 resamples mean: 85.36590 ms, lb 83.84863 ms, ub 87.34270 ms, ci 0.950 std dev: 4.042450 ms, lb 3.071180 ms, ub 5.210041 ms, ci 0.950 variance introduced by outliers: 4.913% variance is slightly inflated by outliers benchmarking intmap/128000 collecting 20 samples, 1 iterations each, in estimated 4.032903 s bootstrapping with 100000 resamples mean: 190.1984 ms, lb 189.6087 ms, ub 191.1099 ms, ci 0.950 std dev: 1.699876 ms, lb 1.121827 ms, ub 2.637079 ms, ci 0.950 found 1 outliers among 20 samples (5.0%) 1 (5.0%) high mild variance introduced by outliers: 4.750% variance is slightly inflated by outliers benchmarking intmap/256000 collecting 20 samples, 1 iterations each, in estimated 9.389544 s bootstrapping with 100000 resamples mean: 439.0274 ms, lb 435.6792 ms, ub 444.7927 ms, ci 0.950 std dev: 10.04909 ms, lb 5.964673 ms, ub 14.68590 ms, ci 0.950 found 3 outliers among 20 samples (15.0%) 2 (10.0%) high mild 1 (5.0%) high severe variance introduced by outliers: 4.750% variance is slightly inflated by outliers benchmarking intmap/512000 collecting 20 samples, 1 iterations each, in estimated 20.40116 s bootstrapping with 100000 resamples mean: 1.046665 s, lb 1.024223 s, ub 1.077329 s, ci 0.950 std dev: 60.99068 ms, lb 43.85342 ms, ub 78.53380 ms, ci 0.950 variance introduced by outliers: 4.942% variance is slightly inflated by outliers And now Java-implemented HAMT: I = 32000 "Elapsed time: 476.83896 msecs" "Elapsed time: 129.631101 msecs" "Elapsed time: 74.291231 msecs" "Elapsed time: 68.319839 msecs" "Elapsed time: 41.243881 msecs" "Elapsed time: 45.591625 msecs" "Elapsed time: 58.740188 msecs" "Elapsed time: 38.914531 msecs" "Elapsed time: 35.862171 msecs" "Elapsed time: 41.271539 msecs" I = 64000 "Elapsed time: 77.344356 msecs" "Elapsed time: 76.803971 msecs" "Elapsed time: 93.124551 msecs" "Elapsed time: 71.330153 msecs" "Elapsed time: 81.106194 msecs" "Elapsed time: 90.538605 msecs" "Elapsed time: 70.184368 msecs" "Elapsed time: 70.196166 msecs" "Elapsed time: 78.350237 msecs" "Elapsed time: 68.696711 msecs" I = 128000 "Elapsed time: 145.116415 msecs" "Elapsed time: 357.026015 msecs" "Elapsed time: 145.325526 msecs" "Elapsed time: 194.460519 msecs" "Elapsed time: 144.369214 msecs" "Elapsed time: 143.871316 msecs" "Elapsed time: 175.60394 msecs" "Elapsed time: 144.483901 msecs" "Elapsed time: 147.329535 msecs" "Elapsed time: 144.782009 msecs" I = 256000 "Elapsed time: 653.918336 msecs" "Elapsed time: 388.307165 msecs" "Elapsed time: 361.146159 msecs" "Elapsed time: 316.747299 msecs" "Elapsed time: 313.326512 msecs" "Elapsed time: 329.156172 msecs" "Elapsed time: 323.883539 msecs" "Elapsed time: 359.509225 msecs" "Elapsed time: 360.504021 msecs" "Elapsed time: 359.890434 msecs" I = 512000 "Elapsed time: 1368.259749 msecs" "Elapsed time: 1357.138096 msecs" "Elapsed time: 1164.463425 msecs" "Elapsed time: 1087.096846 msecs" "Elapsed time: 1421.036514 msecs" "Elapsed time: 965.061633 msecs" "Elapsed time: 1076.974038 msecs" "Elapsed time: 828.068692 msecs" "Elapsed time: 987.893417 msecs" "Elapsed time: 810.575108 msecs Aaand in the other direction I = 512000 "Elapsed time: 3466.817659 msecs" "Elapsed time: 1047.325342 msecs" "Elapsed time: 870.286512 msecs" "Elapsed time: 985.984497 msecs" "Elapsed time: 921.926887 msecs" "Elapsed time: 772.401926 msecs" "Elapsed time: 790.609548 msecs" "Elapsed time: 747.57967 msecs" "Elapsed time: 777.731826 msecs" "Elapsed time: 754.598516 msecs" I = 256000 "Elapsed time: 476.565748 msecs" "Elapsed time: 439.623009 msecs" "Elapsed time: 548.94325 msecs" "Elapsed time: 472.441847 msecs" "Elapsed time: 577.204951 msecs" "Elapsed time: 548.692722 msecs" "Elapsed time: 416.976504 msecs" "Elapsed time: 523.522705 msecs" "Elapsed time: 420.375852 msecs" "Elapsed time: 404.929297 msecs" I = 128000 "Elapsed time: 157.033585 msecs" "Elapsed time: 191.957237 msecs" "Elapsed time: 179.999572 msecs" "Elapsed time: 156.903536 msecs" "Elapsed time: 160.216012 msecs" "Elapsed time: 180.149246 msecs" "Elapsed time: 153.392229 msecs" "Elapsed time: 166.831646 msecs" "Elapsed time: 153.221276 msecs" "Elapsed time: 157.149316 msecs" I = 64000 "Elapsed time: 73.265278 msecs" "Elapsed time: 72.142408 msecs" "Elapsed time: 126.916014 msecs" "Elapsed time: 75.661313 msecs" "Elapsed time: 75.418126 msecs" "Elapsed time: 76.240255 msecs" "Elapsed time: 112.986045 msecs" "Elapsed time: 72.012846 msecs" "Elapsed time: 72.265045 msecs" "Elapsed time: 121.865843 msecs" I = 32000 "Elapsed time: 41.439609 msecs" "Elapsed time: 40.39077 msecs" "Elapsed time: 37.374235 msecs" "Elapsed time: 74.785005 msecs" "Elapsed time: 36.891967 msecs" "Elapsed time: 35.746256 msecs" "Elapsed time: 37.571191 msecs" "Elapsed time: 37.394487 msecs" "Elapsed time: 36.929189 msecs" "Elapsed time: 37.027318 msecs" I didn't bother adding the Haskell HAMT since its performance is still abysmal. Cheers, Edward -- 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