That should be fairly easy to optimize I guess? Maybe even using read-only shared memory to share the parsed database in native binary format?<div> <div><div><div><div class="gmail_quote">On Fri, Apr 10, 2009 at 1:08 AM, Andrea Vezzosi <span dir="ltr">&lt;<a href="mailto:sanzhiyan@gmail.com">sanzhiyan@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">The main bottleneck right now is that each ghc process has to read the<br>
package.conf, which afaiu is done with Read and it&#39;s awfully slow,<br>
especially if you have many packages installed.<br>
I&#39;ve started seeing total time improvements when approaching ~300% CPU<br>
usage and only the extralibs installed.<br>
<div><div></div><div class="h5"><br>
On Thu, Apr 9, 2009 at 5:51 PM, Neil Mitchell &lt;<a href="mailto:ndmitchell@gmail.com">ndmitchell@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Not with cabal, with GHC, yes: assuming you have enough modules. Use ghc<br>
&gt;&gt; -M to dump a makefile, and then make -j20 (or whatever you have)<br>
&gt;<br>
&gt; There is a performance penalty to running ghc on separate files vs<br>
&gt; --make. If your number of core&#39;s is limited --make may be better. I&#39;d<br>
&gt; love someone to figure out what the cross over point is :-)<br>
&gt;<br>
&gt; As a related question, how does GHC implement -j3? For my programs, if<br>
&gt; I want to run in parallel, I have to type +RTS -N3. Can I use the same<br>
&gt; trick as GHC?<br>
&gt;<br>
&gt; Thanks<br>
&gt;<br>
&gt; Neil<br>
&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>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div></div></div></div>