<div dir="ltr"><div>So I've tried to compile Idris/Agda with prof compilers but this</div><div>didn't quite work out due to deps not compiling (apparently it's not</div><div>possible to use template haskell with a profiled compiler).</div><div><br></div><div>Out of curiosity I had a look at compiling haskell-src-exts since that</div><div>takes quite a while. I've used ghc HEAD and 7.8.4 (both built with</div><div>BuildFlavour=prof & bootstrapped with a standard ghc 7.8.4) and it's</div><div>interesting -- the current HEAD takes quite a bit longer and allocates</div><div>way more than 7.8.4. One of the main things that stand out is the</div><div>CallArity analysis (which IIRC was not there in 7.8.4). So unless I</div><div>messed something up with measuring, the analysis seem to be</div><div>pretty expensive.</div><div><br></div><div>Anyway, the results are below.</div><div><br></div><div>Cheers,</div><div>Michal</div><div><br></div><div><br></div><div>** HEAD</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">     </span>Sun Apr 12 15:52 2015 Time and Allocation Profiling Report  (Final)</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>   ghc +RTS -p -RTS [...]</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>total time  =      147.84 secs   (147841 ticks @ 1000 us, 1 processor)</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>total alloc = 172,378,600,408 bytes  (excludes profiling overheads)</div><div><br></div><div>COST CENTRE       MODULE       %time %alloc</div><div><br></div><div>SimplTopBinds     SimplCore     32.4   28.8</div><div>CallArity         SimplCore     18.4   25.6</div><div>lintAnnots        CoreLint       4.5    4.6</div><div>CoreTidy          HscMain        4.5    5.1</div><div>pprNativeCode     AsmCodeGen     3.2    3.4</div><div>OccAnal           SimplCore      3.2    3.1</div><div>occAnalBind.assoc OccurAnal      2.6    2.5</div><div>StgCmm            HscMain        2.3    1.9</div><div>Simplify          SimplCore      2.1    0.2</div><div>RegAlloc          AsmCodeGen     2.1    2.4</div><div>FloatOutwards     SimplCore      2.0    1.6</div><div>regLiveness       AsmCodeGen     1.9    1.9</div><div>tc_rn_src_decls   TcRnDriver     1.8    1.3</div><div>sink              CmmPipeline    1.7    1.5</div><div>NewStranal        SimplCore      1.3    1.5</div><div>genMachCode       AsmCodeGen     1.1    1.0</div><div>layoutStack       CmmPipeline    1.0    1.0</div><div><br></div><div><br></div><div>** HEAD with -fno-call-arity</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Sun Apr 12 18:16 2015 Time and Allocation Profiling Report  (Final)</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>   ghc +RTS -p -RTS [...] -fno-call-arity</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>total time  =      113.71 secs   (113714 ticks @ 1000 us, 1 processor)</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>total alloc = 121,884,896,720 bytes  (excludes profiling overheads)</div><div><br></div><div>COST CENTRE       MODULE          %time %alloc</div><div><br></div><div>SimplTopBinds     SimplCore        37.2   36.6</div><div>CoreTidy          HscMain           6.0    7.3</div><div>lintAnnots        CoreLint          5.8    6.5</div><div>pprNativeCode     AsmCodeGen        4.1    4.8</div><div>OccAnal           SimplCore         3.6    3.8</div><div>occAnalBind.assoc OccurAnal         2.9    3.2</div><div>StgCmm            HscMain           2.9    2.6</div><div>RegAlloc          AsmCodeGen        2.6    3.4</div><div>FloatOutwards     SimplCore         2.6    2.3</div><div>regLiveness       AsmCodeGen        2.5    2.8</div><div>tc_rn_src_decls   TcRnDriver        2.4    1.9</div><div>Simplify          SimplCore         2.4    0.3</div><div>sink              CmmPipeline       2.1    2.2</div><div>NewStranal        SimplCore         1.7    2.1</div><div>genMachCode       AsmCodeGen        1.4    1.4</div><div>layoutStack       CmmPipeline       1.4    1.4</div><div>NativeCodeGen     CodeOutput        1.1    1.2</div><div>FloatInwards      SimplCore         1.1    1.4</div><div>do_block          Hoopl.Dataflow    1.0    0.6</div><div>Digraph.scc       Digraph           0.8    1.3</div><div><br></div><div><br></div><div>** 7.8.4</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Sun Apr 12 15:41 2015 Time and Allocation Profiling Report  (Final)</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>   ghc +RTS -p -RTS [...]</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>total time  =       93.11 secs   (93112 ticks @ 1000 us, 1 processor)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>total alloc = 103,135,975,120 bytes  (excludes profiling overheads)</div><div><br></div><div>COST CENTRE                 MODULE         %time %alloc</div><div><br></div><div>SimplTopBinds               SimplCore       38.5   37.4</div><div>pprNativeCode               AsmCodeGen       6.2    7.2</div><div>StgCmm                      HscMain          3.9    4.2</div><div>RegAlloc                    AsmCodeGen       3.7    5.1</div><div>occAnalBind.assoc           OccurAnal        3.3    3.6</div><div>OccAnal                     SimplCore        3.3    3.6</div><div>regLiveness                 AsmCodeGen       3.1    3.4</div><div>FloatOutwards               SimplCore        2.9    2.4</div><div>sink                        CmmPipeline      2.8    2.8</div><div>Simplify                    SimplCore        2.6    0.3</div><div>tc_rn_src_decls             TcRnDriver       2.4    2.1</div><div>genMachCode                 AsmCodeGen       1.9    2.0</div><div>NewStranal                  SimplCore        1.8    2.1</div><div>layoutStack                 CmmPipeline      1.8    1.8</div><div>Core2Core                   HscMain          1.3    1.2</div><div>deSugar                     HscMain          1.1    1.1</div><div>do_block                    Hoopl.Dataflow   1.1    0.7</div><div>CoreTidy                    HscMain          1.0    1.1</div><div>CorePrep                    HscMain          1.0    1.1</div><div>Digraph.scc                 Digraph          0.9    1.5</div><div>versioninfo                 MkIface          0.9    1.0</div><div>zonkEvBndr_zonkTcTypeToType TcHsSyn          0.6    1.4</div><div><br></div></div><br><div class="gmail_quote">On Fri, Apr 3, 2015 at 4:49 PM David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">On a machine with an SSD instead of a hard disk, swapping greatly reduces the lifespan of the storage device.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 3, 2015 at 10:14 AM, Bertram Felgenhauer <span dir="ltr"><<a href="mailto:bertram.felgenhauer@googlemail.com" target="_blank">bertram.felgenhauer@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>George Colpitts wrote:<br>
> I'm curious why the amount of RAM is relevant as all of our OS have virtual<br>
> memory so it is only the size of the heap and the amount of swap that<br>
> should be relevant for an Out Of Memory error, right?<br>
<br>
</span>The computer may not be your own. VPSs are essentially priced based on<br>
RAM available to the virtual server, and have limited swapping space,<br>
so this is an area where increased memory consumption hurts. Building<br>
binaries elsewhere is usually an option, but more painful than doing<br>
it on the VPS itself.<br>
<br>
Cheers,<br>
<br>
Bertram<br>
<div><div>_______________________________________________<br>
Glasgow-haskell-users mailing list<br>
<a href="mailto:Glasgow-haskell-users@haskell.org" target="_blank">Glasgow-haskell-users@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users</a><br>
</div></div></blockquote></div><br></div>
_______________________________________________<br>
Glasgow-haskell-users mailing list<br>
<a href="mailto:Glasgow-haskell-users@haskell.org" target="_blank">Glasgow-haskell-users@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users</a><br>
</blockquote></div>