Approaches to interpreter composition

Edd Barrett, Carl Friedrich Bolz, Laurence Tratt
2015 Computer languages, systems & structures  
In this paper, we compose six different Python and Prolog VMs into 4 pairwise compositions: one using C interpreters; one running on the JVM; one using meta-tracing interpreters; and one using a C interpreter and a meta-tracing interpreter. We show that programs that cross the language barrier frequently execute faster in a meta-tracing composition, and that meta-tracing imposes a significantly lower overhead on composed programs relative to mono-language programs.
doi:10.1016/ fatcat:jcydz5z7kbbobgcjzrow6pwavi