Automatic Program Specialization for Java - Schultz, Ulrik Pagh; Consel, Charles (DAIMI Report Series, 2000)
The object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. We demonstrate experimentally that state-of-the-art Java compilation technology fails to compensate for the use of object-oriented abstractions to implement generic programs, and that program specialization can be used to eliminate these overheads. We present an automatic program specializer for Java, and demonstrate experimentally that significant speedups in program execution time can be obtained through automatic specialization. Although automatic program specialization could be seen as overlapping with existing optimizer compiler technology, we show that specialization and compiler optimization are in fact complementary.