
Hello, I'm taking profile for my program with -auto-all -caf-all. I found that I don't understand what "entries" means. An IO function in my program should be called N times but "entries" shows 3N. I inserted putStrLn in that function and ensured that it was called just N times. Please tell me what "entries" mean exactly. --Kazu

On 12/05/2011 01:30, Kazu Yamamoto (山本和彦) wrote:
I'm taking profile for my program with -auto-all -caf-all. I found that I don't understand what "entries" means.
An IO function in my program should be called N times but "entries" shows 3N. I inserted putStrLn in that function and ensured that it was called just N times.
Please tell me what "entries" mean exactly.
It's not clear what "entries" means exactly. GHC's profiler is lacking a semantics, so what it actually does is anyone's guess; fortunately it does something more-or-less reasonable often enough to be useful. We have tickets that point out some problems like the one you reported, e.g.: http://hackage.haskell.org/trac/ghc/ticket/4414 my long-term hope is that we can figure out a good semantics for cost-centre stacks, implement it, and close all these tickets (at the same time we'd find out how to get sensible stack-traces too, albeit only in profiling mode). This is a wall I've bounced off a few times though. Cheers, Simon
participants (2)
-
Kazu Yamamoto
-
Simon Marlow