Difference between revisions of "ScalaOptimization"
From JVMLangSummit
Jump to navigationJump to search (New page: == Scala Optimization == Iulian Dragos === Abstract === <update the abstract here> http://wiki.jvmlangsummit.com/pdf/15_Dragos_scala.pdf === Author Bio === * <update the bio here> ===...) |
(→Author Bio) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == Scala | + | == Optimizing Higher-Order Functions in Scala == |
Iulian Dragos | Iulian Dragos | ||
+ | |||
+ | ; Project: www.scala-lang.org | ||
=== Abstract === | === Abstract === | ||
− | + | ; Talk Abstract: 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%. | |
http://wiki.jvmlangsummit.com/pdf/15_Dragos_scala.pdf | http://wiki.jvmlangsummit.com/pdf/15_Dragos_scala.pdf | ||
=== Author Bio === | === Author Bio === | ||
− | + | [[Image:iuli.jpg|60px|thumb|left]] | |
+ | [http://lamp.epfl.ch/~dragos Iulian Dragos] is working on the [http://scala-lang.org Scala] compiler since 2004, being responsible of the JVM backend and compiler optimizations. He is pursuing a PhD under the supervision of [http://lamp.epfl.ch/~odersky/ Martin Odersky], at [http://www.epfl.ch EPFL], Switzerland. Before joining the [http://scala-lang.org Scala] group, he worked as a software engineer on a C++ car dealer management system [http://softnrg.de]. He is the author of the [http://code.google.com/p/gdata-scala-client/ Google Data Scala client], a generic library based on XML pickling combinators. | ||
=== Key Issues for Discussion (cooperative) === | === Key Issues for Discussion (cooperative) === | ||
''(please expand cooperatively)'' | ''(please expand cooperatively)'' | ||
[[Talk:Scala]] | [[Talk:Scala]] |
Latest revision as of 11:16, 26 September 2008
Contents
Optimizing Higher-Order Functions in Scala
Iulian Dragos
- Project
- www.scala-lang.org
Abstract
- Talk Abstract
- 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%.
http://wiki.jvmlangsummit.com/pdf/15_Dragos_scala.pdf
Author Bio
Iulian Dragos is working on the Scala compiler since 2004, being responsible of the JVM backend and compiler optimizations. He is pursuing a PhD under the supervision of Martin Odersky, at EPFL, Switzerland. Before joining the Scala group, he worked as a software engineer on a C++ car dealer management system [1]. He is the author of the Google Data Scala client, a generic library based on XML pickling combinators.
Key Issues for Discussion (cooperative)
(please expand cooperatively) Talk:Scala