On Sun, Aug 29, 2010 at 3:41 PM, Daniel Fischer <span dir="ltr">&lt;<a href="mailto:daniel.is.fischer@web.de">daniel.is.fischer@web.de</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">That is great.</div>
Have you any data about the speedup relative to map sizes?<br>
Milan Straka&#39;s benchmarks ran only on very small maps (&lt;= 2^10 elements),<br>
I&#39;d be interested in whether size plays a significant role in the effect.</blockquote><div><br></div><div>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&#39;t really investigate where the time went. It&#39;s something I&#39;d like to look into in the future.</div>

<div><br></div><div>It&#39;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:</div>

<div><br></div><div>$ cd benchmarks</div><div>$ ghc -DTESTING --make -O2 -fforce-recomp -i.. Benchmarks.hs</div><div>$ ./Benchmarks</div><div><br></div><div>and the run the benchmarks against the old vesion:</div><div><br>

</div><div>$ ghc -DTESTING --make -O2 -fforce-recomp -i../../containers-0.3.0.0 Benchmarks.hs</div><div>$ ./Benchmarks</div><div><br></div><div>It&#39;ll take a while if you use large maps as criterion runs each benchmark 100 times.</div>

<div><br></div><div>I recommend using GHC 6.12.3 as it performs better than e.g. 6.12.1.</div><div><br></div><div>-- Johan</div><div><br></div></div>