Skip to topic | Skip to bottom


EelcoVisser.OptimizingStrategoProgramsr1.3 - 28 Apr 2005 - 22:53 -

Start of topic | Skip to actions


Stratego programs are composed from highly generic components (e.g., a generic traversal combined with a set of rules). This allows the definition of a library of powerful combinators that can be reused in many circumstances (e.g., topdown, collect, innermost). However, in some cases the price for this generality is paid in run-time performance.

The goal of this project is to find optimizations for Stratego programs.


  • Compose a set of benchmark programs, candidates include
    • implode-asfix
    • pretty-printing components from GPP

  • Analyze the run-time behaviour of these programs, e.g., by profiling

  • Find bottlenecks in performance and analyze the cause
    • Bad translation by the compiler
    • Lack of knowledge by the compiler due to genericity

  • Design and implement optimizations (possibly in the form of CompilerPlugins?)

ResearchInterests Questions

  • What determines the performance of strategies?

  • Can optimizations be implemented as CompilerPlugins? separately from other optimizations?

Resources / Literature

  • Source of the Stratego:StrategoCompiler (obtain from Stratego:StrategoDownload)
  • Stratego:StrategoPublications
    • innermost optimization
  • Stratego:StrategoOptimization

-- EelcoVisser - 27 Nov 2001

Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.3 | > | r1.2 | > | r1.1 | Page history | Backlinks
You are here: EelcoVisser > OptimizingStrategoPrograms

to top

Copyright © 2003-2018, Software Engineering Research Group, Delft University of Technology, The Netherlands