Profiling burn-rate
Julian Seward (Intl Vendor)
v-julsew@microsoft.com
Mon, 9 Apr 2001 07:39:16 -0700
| Is there any way to profile the "burn-rate" of a Haskell program?
|=20
| Profiling as I understand it tells you what the "live" information
| on the heap is. It doesn't tell you what garbage collector has just
| freed. So, if a function were generating tons of intermediate values
| which it then immediately consumed, you wouldn't see it on=20
| the profile.
| Yet this is a place where rewriting the code or adding=20
| strictness could
| help reduce time spent garbage collecting.
At least in GHC, and, I suspect, for any system with a good
generational GC, the above may not really hold. A good Gen GC
should get rid of short-lived junk very cheaply, since that's
what it's designed to do. My experience is that a more effective
way to reduce GC time is to reduce the residency. In other words
it's the area bounded by the space-time curve that counts, IMO.
J