| 1) The for me most interesting performance issue at the moment is the | regression in CPS performance that Bryan reported.
Yes, I'm going to look at that once I've finished with the 7.0.2 perf regression. It's a bit tricky because it's a big program. | the state one. My guess, from reading some of the core, is that GHC | sometimes allocates closures in places were we don't want to e.g. it | would use | | let k = ...continuation closure... | in if pred then k | else ...no use of k... | | instead of pushing the allocation of k into the 'then' branch. No, it should definitely push k into the then branch. | Another | thing I'm seeing is that GHC allocates a closure for a continuation, | calls another function that immediately and unconditionally applies | that closure (like a trampoline). I'd expect GHC to never allocate | that closure to begin with. That's much harder, unless you inline the trampoline function. | I guess we owe you a small reproducible test case. Unfortunately it's | kinda hard to produce as the difference can only be seen in medium | size programs. Well even bigger programs are ok if you can point to regressions, or say "look at this Core, it could obviously be improved". | 2) I've gotten really interested in array copying performance lately. Do the new primops help? (I'm not sure if they've made it in yet, and Simon M is on hol.) Simon _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
