
bbr:
Simon Peyton-Jones wrote:
GHC does a lot of cross-module inlining already, and *does* write stuff into interface files, provided you use -O.
I used -O4. Is that the bad thing?
There's nothing about -O2 However, I think that's ok -- it clamps -ON | N>2 to -O2
I'm always interested in performance differences of a factor of 15 though! Can you supply an example (as small as poss) for us to look at?
Yes certainly, although small will be a big problem, I guess. I admit that the factor 15 is a bit dubious since the fast run-time was so small (1.88 sec vs. 0.112 sec).
I will see what I can do on the morrow.
I'd be interested in any progress here -- we noticed issues with optimisations in the stream fusion package across module boundaries that we never tracked down. If there's some key things not firing, that would be good to know.