Storage Strategies for Collections in Dynamically Typed Languages, Paper #103
This is the artifact for the paper "Storage Strategies for Collections in Dynamically Typed Languages" submitted to SPLASH 2013 by Carl-Friedrich Bolz, Lukas Diekmann and Laurence Tratt. The artifact includes several options to reproduce the results:
- Standard setup (tarball): This archive includes the all necessary code to reproduce the complete experiment from the paper. Running `make' will checkout repositories, build several PyPy versions, setup virtual environments and run all benchmarks and built the tables and diagrams presented in the paper. The whole process takes around 1 to 2 days, depending on the machine.
- Prebuilt setup (tarball): In this archive are included the prebuilt PyPy versions and the raw data from the benchmark runs from the paper. `make' will only generate the tables and diagrams from this data. This process only takes a few seconds.
- Virtual Image (VirtualBox): Additionally this artifact comes with a virtual image that includes both previously mentioned tarballs and has all necessary dependencies preinstalled. To run the image you'll need VirtualBox.
Getting Started (Step-by-step instructions)
- Install VirtualBox from https://www.virtualbox.org/
- Open VirtualBox
- File -> Import Appliance...
- Boot the image
- Open a terminal: Click Dash Home (top left icon) -> Type
terminal -> Enter.
- Change to folder:
$ cd standard/ (or
The username for the virtualbox image is
and the password is
Tarballs (requires Unix/Linux)
- Install dependencies (e.g. on a Debian-esque Unix:
$ apt-get install graphviz, gnuplot, mercurial, wget, python-dev)
- Check for PyPy dependencies: http://doc.pypy.org/en/latest/build.html
$ apt-get install gcc make python-dev libffi-dev libsqlite3-dev pkg-config libz-dev libbz2-dev libncurses-dev libexpat1-dev libssl-dev libgc-dev python-sphinx python-greenlet
- Extract one of the setups:
$ tar xfz standard.tar.gz (or
tar xfz prebuilt.tar.gz)
- Change to the extracted folder:
$ cd standard/ (or
Finding the results
After that you will find the tables (in latex format) in the folder
and the diagrams (as pdf) in
The sourcecode of PyPy can be found in
has been executed. The sourcecode is also available online at https://bitbucket.org/pypy/pypy
or can be manually checked out by running:
$ hg clone https://bitbucket.org/pypy/pypy
The relevant changes described in the paper can be found at: