On examples the result ran between 1.5 and 4 times faster than the original. Partial evaluation yields large basic blocks which parallelize well. Well-documented good results for various languages.
Specialization is worthwhile when pgm runs long, and pgm-s is significantly faster than pgm .
Programs with many similar subcomputations . Programs of a highly interpretive nature , e.g. circuit and other simulators, where specialization removes the time to scan the object being simulated. Database query search algorithms. Metaprogramming , where a problem is solved by designing a user-oriented language and an interpreter for it. Once a value s for the static data has explicitly been given, pgm is transformed by precomputing parts depending only on s into the specialized version pgm-s , which can then be compiled.