When: 30th October, 7pm @ The Outhouse pub Title: Thinking outside the box: Optimizing non-Java JVM languages Many languages target the Java virtual machine, from Ada to Xtend [1]. In this presentation, I will focus on functional languages like Scala and Clojure. I am particularly concerned with the use of boxed value types, which seems more prevalent on non-Java JVM languages. Custom micro-benchmarks exhibit significant inefficiencies due to heavy use of boxed integer types. I will describe the implementation of tagged pointer optimisations in the OpenJDK interpreter [3] and demonstrate how this improves performance for boxed integer allocation and method invocation. However, with the exception of the Programming Language Shootout benchmarks [4] I show there are currently few open source Scala and Clojure applications that use boxed integers extensively. This may change in future (discuss!) [1] http://en.wikipedia.org/wiki/List_of_JVM_languages ** market opening - port a programming language beginning with 'Z' to the JVM, see [2] [2] http://en.wikipedia.org/wiki/List_of_programming_languages#Z [3] http://openjdk.java.net [4] http://benchmarksgame.alioth.debian.org |
Coming Up >