Compiling generics through user-directed type specialization

Iulian Dragos, Martin Odersky
2009 Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems - ICOOOLPS '09  
Compilation of polymorphic code through type erasure gives compact code but performance on primitive types is significantly hurt. Full specialization gives good performance, but at the cost of increased code size and compilation time. Instead we propose a mixed approach, which allows the programmer to decide what code to specialize. Our approach supports separate compilation, allows mixing of specialized and generic code, and gives very good results in practice.
doi:10.1145/1565824.1565830 dblp:conf/ecoop/DragosO09 fatcat:ngwcanfrqbcbxo54653unhimge