
Johannes Waldmann
Hi.
There is this (closed) https://ghc.haskell.org/trac/ghc/ticket/11653 and it's landed in 8.rc3.
Thats good, and I want to make an effort to use this. But how? Just "-v2"? This gives a lot of noise. And no summary?
Indeed, -v2 does produce a lot of noise. We considered adding a dedicated -ftimings flag but ultimately decided that it wouldn't be necessary. Afterall, the most obvious users of this functionality are not end-users but tooling and compiler developers since the timings themselves are quite tricky to interpret. I think there are two likely use-cases for this functionality, 1. for long-term tracking of the performance of various compiler subsystems on a set of stable benchmarks (e.g. nofib) 2. for precise characterization of the effects of optimizations on individual compiler passes while working on the compiler In both cases you'll likely want to feed the compiler's output through some sort of analysis tool so I thought it wouldn't really be worth cluttering the implementation with any sort of nice summarization. Ömer has already [1] put together some nice tooling for extracting and summarizing timings and I believe he is interested in continuing this line of work. Perhaps you two should chat! Finally, note that we still have a fair amount of work to do to verify that the timings produced actually reflect the amount of work done by each pass. Laziness makes this rather tricky. The original feature request ticket (#11653) is one obvious place to hang comments; this list is also appropriate. Cheers, - Ben [1] https://github.com/osa1/analyze-ghc-timings