HYLO fusion in GHC

History

Until Target to embed our algorithm
Autumn '97: Prototype system based on gofer2.30a.
Autumn '98: Optimisation path in ghc-2.10,
Summer '99: Applied for nofib benchmarks(spectral).
Now: Optimisation path in ghc-5.04.3.

Features

Example

CGI interface to hylo-fusion It's out of order, sorry.

  1. Original Haskell Program
  2. Optimised Core Program
    Add '-fprint-core' option at last optimisation paths. You will find an new fused function named 'fun1.fun2'.
  3. Executed Result
    'a.out' was compiled by original GHC. 'b.out' was compiled by our modified GHC. Please compare two heap comsumption.
Fusion for 1. 2. 3.
list (in prelude) hs log result
list (user defined) hs log result
tree (user defined) hs log result

Next time, we will apply our method to larger programs.

Current Limitations

References


back.gif Back to Onoue's Home Page