#4225: RTS option to remove profiling overhead from heap profile time stamps
---------------------------------+------------------------------------------
Reporter: ClaudiusMaximus | Owner:
Type: feature request | Status: new
Priority: normal | Component: Profiling
Version: 6.12.3 | Keywords:
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by ClaudiusMaximus):
After some thinking, I've reached these conclusions, which are conjecture
but if they are the case they do somewhat explain the behaviour I've been
seeing:
1. To get meaningful heap profiles, GC is performed before each census.
2. GC takes an amount of time that depends on total heap usage.
3. Census takes an amount of time that depends on total heap usage.
4. GC affects the behaviour of the program, so IS included in heap profile
time stamps.
5. Census does not affect the behaviour of the program, so IS NOT included
in heap profile time stamps.
6. GC takes much longer than census.
(1) would imply that the space/time behaviour of a profiled program might
be very different from an unprofiled program because GC might be performed
much more frequently.
In which case, perhaps it would make sense to have a "tickless" heap
profile where census is performed after any "naturally" occuring GC?
I will look for the documentation giving an overview of how the RTS
actually does profiling, because chances are that my guesses here are way
off the mark.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4225#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs