The search result changed since you submitted your search request. Documents might be displayed in a different sort order.
  • search hit 1 of 10
Back to Result List

Language-independent Storage Strategies for Tracing-JIT-based Virtual Machines

  • Storage strategies have been proposed as a run-time optimization for the PyPy Python implementation and have shown promising results for optimizing execution speed and memory requirements. However, it remained unclear whether the approach works equally well in other dynamic languages. Furthermore, while PyPy is based on RPython, a language to write VMs with reusable components such as a tracing just-in-time compiler and garbage collection, the strategies design itself was not generalized to be reusable across languages implemented using that same toolchain. In this paper, we present a general design and implementation for storage strategies and show how they can be reused across different RPython-based languages. We evaluate the performance of our implementation for RSqueak, an RPython-based VM for Squeak/Smalltalk and show that storage strategies may indeed off er performance benefits for certain workloads in other dynamic programming languages. We furthermore evaluate the generality of our implementation by applying it to Topaz, aStorage strategies have been proposed as a run-time optimization for the PyPy Python implementation and have shown promising results for optimizing execution speed and memory requirements. However, it remained unclear whether the approach works equally well in other dynamic languages. Furthermore, while PyPy is based on RPython, a language to write VMs with reusable components such as a tracing just-in-time compiler and garbage collection, the strategies design itself was not generalized to be reusable across languages implemented using that same toolchain. In this paper, we present a general design and implementation for storage strategies and show how they can be reused across different RPython-based languages. We evaluate the performance of our implementation for RSqueak, an RPython-based VM for Squeak/Smalltalk and show that storage strategies may indeed off er performance benefits for certain workloads in other dynamic programming languages. We furthermore evaluate the generality of our implementation by applying it to Topaz, a Ruby VM, and Pycket, a Racket implementation.show moreshow less

Export metadata

Additional Services

Search Google Scholar Statistics
Metadaten
Author details:Tobias Pape, Tim FelgentreffORCiDGND, Robert HirschfeldORCiDGND, Anton Gulenko, Carl Friedrich Bolz
DOI:https://doi.org/10.1145/2816707.2816716
ISSN:0362-1340
ISSN:1558-1160
Title of parent work (English):ACM SIGPLAN notices
Publisher:Association for Computing Machinery
Place of publishing:New York
Publication type:Article
Language:English
Year of first publication:2016
Publication year:2016
Release date:2020/03/22
Tag:Implementation; collection types; dynamic typing; memory optimization
Volume:51
Number of pages:10
First page:104
Last Page:113
Funding institution:EPSRC Cooler grant [EP/K01790X/1]
Accept ✔
This website uses technically necessary session cookies. By continuing to use the website, you agree to this. You can find our privacy policy here.