<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Is a thunk produced by binMixtureData is *forced* by outerD?</div><div><br></div><div>On Sat, 5 Sep 2020, at 9:49 PM, Marco Zocca wrote:<br></div><blockquote type="cite" id="qt" style=""><div>Hi all,<br></div><div><br></div><div>  I don't understand the tree-shaped visualizations produced by<br></div><div>profiteur, profiterole and ghc-prof-flamegraph .<br></div><div><br></div><div>Specifically, I initially thought that cost centers that are displayed<br></div><div>closer to the leaves would be due to calls higher up in the tree, but<br></div><div>that doesn't seem to be the case.<br></div><div><br></div><div>Example; I've produced this basic visualization with ghc-prof and<br></div><div>Data.Tree.drawTree (which mirrors qualitatively what flamegraph et al.<br></div><div>produce) :<br></div><div><br></div><div>MAIN 100.0<br></div><div>|<br></div><div>+- Main.trained 100.0<br></div><div>|  |<br></div><div>|  +- ER.ML.Classification.logreg 99.2<br></div><div>|  |  |<br></div><div>|  |  +- ER.ML.Classification.irls 96.4<br></div><div>|  |  |  |<br></div><div>|  |  |  +- ER.ML.Classification.hessianC 30.3<br></div><div>|  |  |  |  |<br></div><div>|  |  |  |  +- ER.Math.Matrix.outerD 30.3<br></div><div>|  |  |  |  |  |<br></div><div>|  |  |  |  |  `- Main.binMixtureData 29.8<br></div><div>|  |  |  |  |     |<br></div><div>|  |  |  |  |     +- ER.Math.Random.SplitMix.mvNormalSM 28.8<br></div><div>|  |  |  |  |     |  |<br></div><div>|  |  |  |  |     |  `- ER.Math.Matrix.matVec 28.2<br></div><div>|  |  |  |  |     |<br></div><div>|  |  |  |  |     `- ER.ML.Common.centerDataWMEC 1.0<br></div><div><br></div><div>It looks fine down to level 4 (trained calls logreg, which calls irls,<br></div><div>which calls hessianC, which calls outerD), and then it stops making<br></div><div>sense (binMixtureData is not ever called by outerD).<br></div><div><br></div><div>Could someone please shed some light on this?<br></div><div><br></div><div>Thank you in advance<br></div><div>_______________________________________________<br></div><div>Haskell-Cafe mailing list<br></div><div>To (un)subscribe, modify options or view archives go to:<br></div><div><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br></div><div>Only members subscribed via the mailman list are allowed to post.<br></div></blockquote></body></html>