
On Sun, Aug 29, 2010 at 3:41 PM, Daniel Fischer
That is great. Have you any data about the speedup relative to map sizes? Milan Straka's benchmarks ran only on very small maps (<= 2^10 elements), I'd be interested in whether size plays a significant role in the effect.
I just ran an ad-hoc test to get an indication of of the performance gains scale with the map size. I ran the lookup benchmark, which looks up all the elements in a map, and I got a 37% improvement running with a map size of 2^22 elements. Compare this to the 42% gain I get on the same benchmark with a map of 2^10 elements. This is just an indication as I didn't really investigate where the time went. It's something I'd like to look into in the future. It'd be worthwhile to rerun all the benchmarks on a larger map on a machine with a lot of RAM. The number of elements is simple to change in benchmarks/Benchmarks.hs. To run the benchmark do: $ cd benchmarks $ ghc -DTESTING --make -O2 -fforce-recomp -i.. Benchmarks.hs $ ./Benchmarks and the run the benchmarks against the old vesion: $ ghc -DTESTING --make -O2 -fforce-recomp -i../../containers-0.3.0.0 Benchmarks.hs $ ./Benchmarks It'll take a while if you use large maps as criterion runs each benchmark 100 times. I recommend using GHC 6.12.3 as it performs better than e.g. 6.12.1. -- Johan