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