Compiling Scala Faster with GraalVM von Vojin Jovanovic · · 711 Besichtigungen · Scala Days











Embed <div id="presentation-embed-38908127"></div> <script src='https://slideslive.com/embed_presentation.js'></script> <script> embed = new SlidesLiveEmbed('presentation-embed-38908127', { presentationId: '38908127', autoPlay: false, // change to true to autoplay the embedded presentation verticalEnabled: true }); </script>

Scala's features such as higher-order functions and implicit conversions encourage writing concise and readable programs. These features, however, introduce many indirections and come with a hidden cost: if not removed by the compiler they can cause severe performance hits. In this talk, we present GraalVM: a high-performance polyglot VM whose unique JIT compiler greatly improves the performance of Scala programs. We demo how GraalVM can increase the productivity of the Scala community: With GraalVM the Scala compiler is more than 1.3x faster and the compiler native image requires no warmup. Required knowledge Basic computer science knowledge. Learning objectives The idea of this talk is to present that the Scala community can improve their compilation speed by simply downloading a native image of scalac or by running scalac with GraalVM. To demonstrate that for Scala programs using open-source version of Graal will give about 8% of performance improvement on average. This is particularly interesting for Scala as Graal removes Scala's abstractions efficiently. It will show that for open-source projects, e.g. scalac, we can build native images with GraalVM and those images can be freely used. This gives instant startup and large performance improvements for open-source Scala programs. The talk will also show advanced optimizations that Graal does and should be interesting for all attendees. Vojin believes that programs can be described in an abstract way and at the same time be executed as quickly as their manually optimized counterparts. To this end, he is working Oracle Labs to improve dynamic compilation in multilingual environments. Before joining Oracle, Vojin received his Ph.D. in the Scala laboratory at the Swiss Federal Institute of Technology in Lausanne (EPFL), where he developed a platform for simply adding domain-specific optimizations to existing Scala libraries. BACK TO SCHEDULE