I am using 6.12... are there any good pointers as to how one uses threadscope?<br><br><div class="gmail_quote">On Mon, Jan 4, 2010 at 3:14 PM, Neil Mitchell <span dir="ltr">&lt;<a href="mailto:ndmitchell@gmail.com">ndmitchell@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Jamie,<br>
<br>
First question, what version of GHC are you using? There are<br>
significant performance improvements to parallel code in GHC 6.12, so<br>
it&#39;s worth an upgrade. Once you&#39;ve upgraded you might want to try out<br>
threadscope which is designed to help track down these sorts of<br>
problems.<br>
<br>
If you are using 6.10, I recommend turning off parallel garbage<br>
collection with the RTS flags (see the manual) as that can cause<br>
slowdowns.<br>
<br>
Thanks, Neil<br>
<br>
2010/1/4 Jamie Morgenstern &lt;<a href="mailto:cantthinkthinkpink@gmail.com">cantthinkthinkpink@gmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Hello;<br>
&gt;<br>
&gt;  I have a piece of code in which I employ the `par` construct to add some implicit parallelism<br>
&gt; to a theorem prover. However, when running the *same* code with<br>
&gt;<br>
&gt; +RTS -N1<br>
&gt; +RTS -N5<br>
&gt; +RTS -N10<br>
&gt;<br>
&gt; I see a huge slowdown (a factor of 50 with 5 processes and a factor of 100 for 10 on an 8-core machine).<br>
&gt;<br>
&gt; Very little time is being spent using the garbage collector. Any suggestions?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; -Jamie<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
&gt;<br>
</blockquote></div><br>