Optimizing Higher-Order Functions in Scala

Scala relies on libraries as the default mechanism for language extension. While this provides an elegant solution for growing the language, the performance penalty incurred by call-by-name parameters, boxing and anonymous functions is high. We show that inlining alone is not enough to remove this overhead, and present a solution based on decompilation of library code combined with inlining, dead code elimination, and copy propagation. We evaluate our approach on two language extensions, Java-like assert and C-like for-loops and show improvements of up to 45%.


Présenté à:
Third International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, Paphos, Cyprus, July 7, 2008
Année
2008
Mots-clefs:
Laboratoires:




 Notice créée le 2008-09-25, modifiée le 2019-03-16

n/a:
Télécharger le document
PDF

Évaluer ce document:

Rate this document:
1
2
3
 
(Pas encore évalué)