Stratego Optimization
Stratego -- Strategies for Program Transformation
The
StrategoCompiler performs a number of transformations/optimizations including the following:
- Pattern match merging
- Symbol caching
- Simplification
- Desugaring
The following optimizations are supported experimentally, but implementation should be improved:
New optimizations that could beneficial
To measure the effect of optimizations set up
--
EelcoVisser - 08 Dec 2001
- Control what kind of object files (dbg, opt, prof) are linked
- use gcc lib as standard (is optimized O4)
- F(id,\ H(x) -> G(x,x) \, id) is equivalent to
\ F(a, H(x), b) -> F(a, G(x,x), b)
- set up benchmarks and reggression tests
- propositional formulae
- sieve
- note: the compiler itself is of course the real regression test although it does not cover all aspects/constructs of the language
- Make a set of benchmarks that can function as reference for optimizations
- Do effects analysis on strategy expressions; distinghuish the following effects: no effect, transformation effect, variable binding effect, failure effect
- Also inline sums of rules if they occur inside a sum
- Generate congruence definition by need in the same style as threading and distributing congruences.
CategoryToDo? |
ToDo
Stratego.StrategoOptimization moved from Stratego.StrategoOptimizations on 09 Dec 2001 - 14:24 by EelcoVisser -
put it back