<div dir="ltr">Hey Uri,<div>could you explain what those numbers represent? many of use the profiling tools, but we may not remember what columns / numbers mean what. What number seems wrong and what does the number mean? Also its very hard to help debug if you don't link to the code</div>

<div><br></div><div>If you're hitting space leak problems, one culprit could be your data structure or the operations acting on it is too lazy! Have you tried making it stricter?</div><div><br></div><div>cheers</div>
<div>
-Carter</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 5, 2013 at 8:13 PM, Uri Braun <span dir="ltr"><<a href="mailto:uribraun@eecs.harvard.edu" target="_blank">uribraun@eecs.harvard.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>






<div>


<p dir="LTR"><span lang="en-us"><font face="Calibri">Hi Café,</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">I'm attempting to profile my rather large (~18K LOC)</font></span><span lang="en-us"> <font face="Calibri">Haskell</font></span><span lang="en-us"> <font face="Calibri">program that</font></span><span lang="en-us"> <font face="Calibri">primarily</font></span><span lang="en-us"> <font face="Calibri">manipulates</font></span><span lang="en-us"> <font face="Calibri">graph structures based on Data.IntMap. The program is chewing up _lots_ of memory (approx. 4G for</font></span><span lang="en-us"> <font face="Calibri">2.5K</font></span><span lang="en-us"><font face="Calibri"> nodes &</font></span><span lang="en-us"> <font face="Calibri">2.5K</font></span><span lang="en-us"> <font face="Calibri">edges)</font></span><span lang="en-us"><font face="Calibri"> and I have profiled it in an attempt to figure out why.</font></span><span lang="en-us"> <font face="Calibri">It appears that the .prof</font></span><span lang="en-us"> <font face="Calibri">and .hp (which I visualize with hp2ps -c) files do not agree on the source of the problem.</font></span><span lang="en-us"><font face="Calibri"> The hp results are located at:</font></span><span lang="en-us"> </span><a href="http://www.eecs.harvard.edu/~uribraun/sybil.ps" target="_blank"><span lang="en-us"><u><font color="#0000FF" face="Calibri">http://www.eecs.harvard.edu/~uribraun/sybil.ps</font></u></span><span lang="en-us"></span></a><span lang="en-us"><font face="Calibri"> and the top of the .prof file looks like this:</font></span><span lang="en-us"></span></p>



<p dir="LTR"><span lang="en-us"></span><span lang="en-us"><font face="Courier New">COST CENTRE                   MODULE                  %time %alloc</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">compare                       Policy.Edge              21.7   50.0</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">eqPartition.edges             Policy.EdgeQuad           6.5    3.7</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">toConstructedSet              Types.TaggedIntMultimap   6.1    3.6</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">elems                         Types.TaggedIntMap        6.0    6.8</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">elems                         Types.TaggedIntSet        5.7    3.8</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">toPairs                       Types.TaggedIntMultimap   3.9    5.2</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">assocs                        Types.TaggedIntMap        3.2    4.1</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">eqIsValid                     Policy.EdgeQuad           2.9    0.5</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">rIsValid                      Policy.Relations          2.2    0.2</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">assocs.\                      Types.TaggedIntMap        1.8    0.0</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">keysSet                       Types.TaggedIntMap        1.5    1.7</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">mergeIdenticalNodesT.exactMap Minimize.MergeIdentical   1.4    1.2</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">fromList                      Types.TaggedIntSet        1.3    1.6</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">tePartitionSrc                Policy.TaggedEdge         1.2    0.9</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">null                          Types.TaggedIntSet        1.2    0.0</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">scc.comps                     Policy.Scc                1.2    0.9</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">tePartitionTgt                Policy.TaggedEdge         1.1    0.8</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">member                        Types.TaggedIntSet        1.1    0.8</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Courier New">alter                         Types.TaggedIntMap        1.0    1.1</font></span><span lang="en-us"></span><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">Also, the line in the .prof that corresponds to the anormUnion.name (what the hprof image claims is taking up space) looks like</font></span><span lang="en-us"><font face="Calibri"> (some spaces removed)</font></span><span lang="en-us"><font face="Calibri">:</font></span></p>



<p dir="LTR"><span lang="en-us"></span><span lang="en-us"><font face="Courier New">anormUnion.name Anormalize.Anormalize                2914          60    0.0    0.0     0.0    0.0</font></span><span lang="en-us"></span><span lang="en-us"></span></p>



<p dir="LTR"><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">My main questions at this point are:</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">1.     </font></span><span lang="en-us"></span><span lang="en-us"> <font face="Calibri">What are the chances the hprof image is just wrong?</font></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">2.     </font> <font face="Calibri">What would you suggest I try next in debugging my space issue?</font></span></p>

<p dir="LTR"><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">This is my first big Haskell program, please do inform me of any big war tools I don</font></span><span lang="en-us"><font face="Calibri">’t know about.</font></span><span lang="en-us"></span></p>



<p dir="LTR"><span lang="en-us"></span></p>

<p dir="LTR"><span lang="en-us"><font face="Calibri">Many thanks in advance!</font></span><span class="HOEnZb"><font color="#888888"><span lang="en-us"></span></font></span></p><span class="HOEnZb"><font color="#888888">

<p dir="LTR"><span lang="en-us"><font face="Calibri">+Uri</font></span><span lang="en-us"></span><span lang="en-us"></span></p>

</font></span></div>
<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>
<br></blockquote></div><br></div>