While working on the Shootout, I noticed the following benchmarks:<div><br></div><div><a href="http://shootout.alioth.debian.org/u64/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3">http://shootout.alioth.debian.org/u64/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3</a></div>

<div><a href="http://shootout.alioth.debian.org/u64/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3"></a><a href="http://shootout.alioth.debian.org/u64q/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3">http://shootout.alioth.debian.org/u64q/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3</a></div>

<div><br></div><div>The same program becomes almost 4 times slower when compiled with --threaded and run with +RTS -N5 -- even though the multi-core benchmark really only ever uses one processor.</div><div><br></div><div>

Other languages seem to have found a way of arranging these threads in a way such that parallelism actually happens, but as it stands, compiling this benchmark without --threaded actually makes Haskell competitive against the genuinely parallel alternatives in other languages...which is unusual by itself.</div>

<div><br></div><div>I wanted to throw this out for people to discuss, because I&#39;d like to see it improved.  As it stands, I&#39;m going to submit a version which asks not to be compiled with --threaded (and has a few other improvements).</div>

<div><a href="http://shootout.alioth.debian.org/u64q/program.php?test=chameneosredux&amp;lang=ghc&amp;id=3"></a><br clear="all">Louis Wasserman<br><a href="mailto:wasserman.louis@gmail.com">wasserman.louis@gmail.com</a><br>

<a href="http://profiles.google.com/wasserman.louis">http://profiles.google.com/wasserman.louis</a><br>
</div>