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__ $$0241949$$aDragos, Iulian$$g162914
000128135 7112_ $$aThird International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems$$cPaphos, Cyprus$$dJuly 7, 2008
000128135 8564_ $$zURL
000128135 8564_ $$s287104$$uhttps://infoscience.epfl.ch/record/128135/files/paper.pdf$$zn/a
000128135 909C0 $$0252187$$pLAMP$$xU10409
000128135 909CO $$ooai:infoscience.tind.io:128135$$pconf$$pIC$$qGLOBAL_SET
000128135 937__ $$aLAMP-CONF-2008-004
000128135 973__ $$aEPFL$$rREVIEWED$$sPUBLISHED
000128135 980__ $$aCONF