2010/6/15 Simon Marlow <marlo...@gmail.com>: > On 15/06/2010 16:28, Henrique Ferreiro wrote: > >> I got the most important pieces working (I think). The question now >> is, are you interested in this? > > It all depends on whether other people would find it useful or not. At the > moment I'm not convinced that profiling each Capability separately will give > results that are useful, because the assignment of work to Capabilities is > quite arbitrary and will change from run to run. The only way to get > meaningful results would be to use forkOnIO; this won't be very useful for > par/pseq or Strategies.
I've been thinking about this and came to the conclusion that profiling per capability isn't only useless but wrong as it might build stacks of completely unrelated code. You said before that per-thread profiling is much harder. So, what would be the problem of saving and restoring the profiling information each time a thread is run? > So the question really is: what information do you want out? I can see a > use for just doing ordinary profiling on parallel programs, although the > overheads of profiling may well get in the way of getting useful information > out. I definitely want per-thread profiling information. I also wanted to do event logging at each interval so I get timing information. > One thing you could do is to use HPC for profiling. The idea would be to > record the last tick, and sample the thread/tick at each interval. Then you > get a per-thread profile, but without the stack information of the > cost-centre profiler. Perhaps the overhead of this might be too high > though. I didn't know about this. I've done some really small tests and the overhead of the HPC system seems lower the the one from the profiling system. The problem I see is that it may have to be changed a lot to comply with the cost centre semantics (subsuming costs and the like). > Cheers, > Simon > _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc