Vojin Jovanovic



Vojin Jovanovic is a third year PhD student working on high-performance embedded DSLs in the LAMP laboratory at EPFL. He designed Jet, a Scala embedded DSL for big-data processing, executable on both Hadoop and Spark. He developed a loop fusion transformation, one of the core optimizations in the LMS framework. His current work focuses on DSL embedding with Scala macros and the cost estimation of annotated Scala code.

Before his PhD, he worked as a Java Enterprise developer and a team leader on the Taleo Business Edition project. Besides producing large amounts of everyday SQL, JSP, and Javascript, he worked on cache rebalancing algorithms, persistent message queuing and the TBE search engine.


High-performance DSLs Embedded in Scala

Download materials

Domain-specific languages (DSLs) are good for both productivity and program performance. However, developing a DSL and related tools requires tremendous amounts of work. On the other hand, embedded DSLs alleviate the pain of DSL construction by reusing the machinery of the host language. Embedding comes with the price as complete program information is usually lost, yielding programs that typically have low performance

In this talk we will explain the Scala mix-in composition, abstract data types, implicit conversions and macros. Then we will show how these Scala features allow easy development of embedded DSLs which preserve complete program knowledge. This allows aggressive optimizations that lead to high program performance. We will conclude with performance results of DSLs developed by the described techniques.

Organizers & Key partners