GHC: Ticket Query
http://ghc.haskell.org/trac/ghc/query?component=Profiling&milestone=7.6.2&group=status&order=priority
The Glasgow Haskell Compileren-USGHChttp://ghc.haskell.org/trac/ghc/chrome/site/ghc_logo.png
http://ghc.haskell.org/trac/ghc/query?component=Profiling&milestone=7.6.2&group=status&order=priority
Trac 1.0.1
http://ghc.haskell.org/trac/ghc/ticket/609
http://ghc.haskell.org/trac/ghc/ticket/609#609: Useful optimisation for set-cost-centreWed, 02 Feb 2005 00:00:00 GMTsimonpj<p>
If you compile, for example, drvrun014 with -prof -auto-all, you'll see stuff like
</p>
<pre class="wiki"> (scc "c" (dataToTag#)) y
</pre><p>
This generates bad code, because we end up eta-expaning dataToTag, which allocates an extra function closure.
</p>
<p>
We think that in general
</p>
<pre class="wiki"> (scc "c" e) y = scc "c" (e y)
</pre><p>
to within a small constant factor. So maybe the simplifier, or <tt>CorePrep</tt>, or both, should do this transformation.
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/609#changelog
http://ghc.haskell.org/trac/ghc/ticket/5641
http://ghc.haskell.org/trac/ghc/ticket/5641#5641: The -L flag should not existWed, 16 Nov 2011 13:11:03 GMTaugustss<p>
Why does the -L flag exist? The .hp file should contain untruncated strings, and any truncation of the names should be done in hp2ps.
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/5641#changelog
http://ghc.haskell.org/trac/ghc/ticket/6113
http://ghc.haskell.org/trac/ghc/ticket/6113#6113: Profiling with -p not written if killed with SIGTERMSat, 19 May 2012 04:43:57 GMTVeinor<p>
Just like it says in the title; -p profiling seems to only get written if the binary gets killed with a SIGINT, not QUIT or TERM. Haven't tested the others, but it seems reasonable that -p profiling data should always be written on exit.
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/6113#changelog
http://ghc.haskell.org/trac/ghc/ticket/7105
http://ghc.haskell.org/trac/ghc/ticket/7105#7105: Better names for derived SCCs of instancesMon, 30 Jul 2012 09:03:00 GMTksf<p>
Currently, -fprof-auto generated SCCs are named after their function name, which isn't very helpful if you have a dozen types in Types.hs and the profile is telling you that much time is spend in "compare" and "put" in that very module. It's even more painful if those instances are derived and you can't easily add manual annotations.
</p>
<p>
I suggest annotating instance declarations in general with their concrete type, such as "compare/Foo" and "compare/Bar"
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/7105#changelog
http://ghc.haskell.org/trac/ghc/ticket/4837
http://ghc.haskell.org/trac/ghc/ticket/4837#4837: Template Haskell does not work in a profiled compiler.Mon, 13 Dec 2010 02:02:59 GMTbenl<p>
Template Haskell does not work if the compiler itself is built profiles. Because of this we cannot debug GHC compile time performance problems when compiling Data.Vector and DPH as they use Template Haskell. <a class="closed ticket" href="http://ghc.haskell.org/trac/ghc/ticket/4172" title="bug: GHC build failes when BuildFlavour = prof is used (closed: fixed)">#4172</a> is related.
</p>
<p>
Trying to use Template Haskell in a profiled compiler currently triggers the assertion at <tt>main/HscMain.hs:1245</tt>
</p>
<p>
Supporting this would also mean that we can run GHCi with profiled code!
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/4837#changelog
http://ghc.haskell.org/trac/ghc/ticket/5654
http://ghc.haskell.org/trac/ghc/ticket/5654#5654: Profiling semantics bugWed, 23 Nov 2011 11:47:52 GMTsimonmar<p>
GHC doesn't quite implement the new cost-centre stack semantics correctly. e.g.
</p>
<pre class="wiki">{-# NOINLINE f #-}
f :: Int -> Int
f = {-# SCC f #-} g
{-# NOINLINE g #-}
g :: Int -> Int
g x = {-# SCC g #-} x + 1
main = print (f 3)
</pre><p>
What we want is
</p>
<pre class="wiki"> CAF Main 106 0 0.0 0.7 0.0 21.7
f Main 201 1 0.0 0.0 0.0 0.0
main Main 200 1 0.0 20.9 0.0 21.0
f Main 202 0 0.0 0.0 0.0 0.1
g Main 203 1 0.0 0.1 0.0 0.1
</pre><p>
but we get
</p>
<pre class="wiki"> CAF Main 106 0 0.0 0.7 0.0 21.6
f Main 201 1 0.0 0.0 0.0 0.0
main Main 200 1 0.0 20.9 0.0 20.9
g Main 202 1 0.0 0.0 0.0 0.0
</pre><p>
The original flat CC profiler used to use <tt>IND_PERM</tt> indirections to handle this kind of thing, but we aren't doing that now.
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/5654#changelog
http://ghc.haskell.org/trac/ghc/ticket/1420
http://ghc.haskell.org/trac/ghc/ticket/1420#1420: Automatic heap profile intervalsFri, 08 Jun 2007 17:56:52 GMTguest<p>
When doing heap profiling it is sometimes hard to know what a good sampling interval is. Make it too small and it takes forever, make it too coarse and the resolution is bad.
In hbc the default setting was to automatically adjust the interval. It starts out very small, but as samples accumulate it gets larger and larger. This is a nice compromise.
</p>
Resultshttp://ghc.haskell.org/trac/ghc/ticket/1420#changelog