Skip to main content

Optimizing the Order of Bytecode Handlers in Interpreters using a Genetic Algorithm

Huang, Wanhong, Marr, Stefan, Ugawa, Tomoharu (2022) Optimizing the Order of Bytecode Handlers in Interpreters using a Genetic Algorithm. In: The 38th ACM/SIGAPP Symposium on Applied Computing (SAC '23). . ACM ISBN 978-1-4503-9517-5. (In press) (doi:10.1145/3555776.3577712) (KAR id:99544)

PDF Author's Accepted Manuscript
Language: English
Download (752kB) Preview
[thumbnail of acmsac23-huang-et-al-optimizing-the-order-of-bytecode-handlers-in-interpreters-using-a-genetic-algorithm.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


Interpreter performance remains important today. Interpreters are needed in resource constrained systems, and even in systems with just-in-time compilers, they are crucial during warm up. A common form of interpreters is a bytecode interpreter, where the interpreter executes bytecode instructions one by one. Each bytecode is executed by the corresponding bytecode handler. In this paper, we show that the order of the bytecode handlers in the interpreter source code affects the execution performance of programs on the interpreter. On the basis of this observation, we propose a genetic algorithm (GA) approach to find an approximately optimal order. In our GA approach, we find an order optimized for a specific benchmark program and a specific CPU. We evaluated the effectiveness of our approach on various models of CPUs including x86 processors and an ARM processor. The order found using GA improved the execution speed of the program for which the order was optimized between 0.8% and 23.0% with 7.7% on average. We also assess the cross-benchmark and cross-machine performance of the GA-found order. Some orders showed good generalizability across benchmarks, speeding up all benchmark programs. However, the solutions do not generalize across different machines, indicating that they are highly specific to a microarchitecture.

Item Type: Conference or workshop item (Proceeding)
DOI/Identification number: 10.1145/3555776.3577712
Uncontrolled keywords: Interpreters, Genetic Algorithm, Code Layout, JavaScript, Embedded Systems
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: Japan Society for the Promotion of Science (
Engineering and Physical Sciences Research Council (
Royal Society (
Depositing User: Stefan Marr
Date Deposited: 17 Jan 2023 10:56 UTC
Last Modified: 18 Jan 2023 09:58 UTC
Resource URI: (The current URI for this page, for reference purposes)
Marr, Stefan:
Ugawa, Tomoharu:
  • Depositors only (login required):


Downloads per month over past year