#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

Reply via email to