Approaches to Interpreter Composition
Edd Barrett, Carl Friedrich Bolz, Laurence Tratt

TL;DR
This paper evaluates six methods of combining Python and Prolog virtual machines across four configurations, demonstrating that meta-tracing compositions offer faster cross-language execution and lower overhead.
Contribution
It introduces and compares multiple interpreter composition strategies, highlighting the efficiency benefits of meta-tracing in cross-language virtual machine setups.
Findings
Meta-tracing compositions execute cross-language programs faster.
Meta-tracing reduces overhead compared to mono-language execution.
Different composition methods impact performance and overhead.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
