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