000128135 001__ 128135
000128135 005__ 20190316234405.0
000128135 037__ $$aCONF
000128135 245__ $$aOptimizing Higher-Order Functions in Scala
000128135 260__ $$c2008
000128135 269__ $$a2008
000128135 336__ $$aConference Papers
000128135 520__ $$aScala 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%.
000128135 6531_ $$acompilers
000128135 6531_ $$aoptimization
000128135 6531_ $$aScala
000128135 6531_ $$ahigher order functions
000128135 700__ $$g162914$$aDragos, Iulian$$0241949
000128135 7112_ $$dJuly 7, 2008$$cPaphos, Cyprus$$aThird International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
000128135 8564_ $$zURL
000128135 8564_ $$uhttps://infoscience.epfl.ch/record/128135/files/paper.pdf$$zn/a$$s287104
000128135 909C0 $$xU10409$$0252187$$pLAMP
000128135 909CO $$qGLOBAL_SET$$pconf$$ooai:infoscience.tind.io:128135$$pIC
000128135 937__ $$aLAMP-CONF-2008-004
000128135 973__ $$rREVIEWED$$sPUBLISHED$$aEPFL
000128135 980__ $$aCONF