<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV style="FONT-FAMILY: ; COLOR: ">
<DIV>Hello, GHC hackers!</DIV>
<DIV> </DIV>
<DIV>Reposting this message from haskell-café, because it seems like this 
mailing list is closer to the subject.</DIV>
<DIV> </DIV>
<DIV>For the last 2 days I’m debugging something that looks like a space leak. 
My program is a rather long-running network service. When I first used heap 
profiler I was a bit confused with its output that showed that my program was 
running for only about 0.3-0.4 seconds when I launched it idling for about a 
minute.</DIV>
<DIV> </DIV>
<DIV>That was confusing enough for me to dig into GHC sources trying to figure 
out the reason behind this and I found that values of the sample times are taken 
from the mut_user_time function, which returns a time that process spent in 
user-mode code (outside the kernel) minus time spent on garbage collection. 
</DIV>
<DIV> </DIV>
<DIV>This introduces great amount of unpredictable non-linearity of the heap 
profile graph x axis, which I personally consider very counterintuitive.</DIV>
<DIV> </DIV>
<DIV>So my question is does anybody know why is it done this way? Wouldn’t it be 
better if x axis would just show a time elapsed since the process started?</DIV>
<DIV> </DIV>
<DIV>Kind regards,</DIV>
<DIV>  Anton.</DIV></DIV></DIV></DIV></BODY></HTML>