patch applied (ghc): Improving the performance of breakpoints up to
50% (by playing with laziness)
Pepe Iborra
mnislaih at gmail.com
Wed Feb 21 14:03:04 EST 2007
Wed Feb 21 10:56:49 PST 2007 Pepe Iborra <mnislaih at gmail.com>
* Improving the performance of breakpoints up to 50% (by playing with laziness)
This patch performs several optimizations with the goal of minimizing the cost of building the arguments to breakpointJump:
- Group them all in a single tuple, to minimize closure creation in heap
- Wrap this with the GHC.Base.lazy combinator, to induce max laziness
- Remove as many literal strings as possible
* injecting a module-local CAF to store the module name and use that
* eliminating the package string (not needed).
M ./compiler/deSugar/DsBinds.lhs -1 +20
M ./compiler/deSugar/DsBreakpoint.lhs -19 +19
M ./compiler/deSugar/DsMonad.lhs -3 +13
M ./compiler/main/Breakpoints.hs -3 +3
M ./compiler/main/GHC.hs -20 +17
More information about the Cvs-ghc
mailing list