Crosstwine Linker – Python® Demo
The Language
The Python® language is a popular Open Source dynamic object-oriented programming language owned by the Python Software Foundation; please refer to www.python.org for more information or to acquire a copy of the original implementation.
Important Notice
While our demo interpreters can yield substantial speed-ups on number-crunching applications, they do not currently accelerate some kinds of workloads. Please see what makes Crosstwine Linker different from other VMs.
The Demo
This technology demo integrates Crosstwine Linker 1.0 alpha 1 with a modified version of the “CPython” interpreter originally developed by Guido van Rossum.
The integration was done with the “Python 3000” flavor of the language; the corresponding unmodified interpreter sports the version number 3.1a1+. We provide binary tarballs for a number of x86-64 (AMD64, Intel 64) Linux distributions.
What to Expect?
Basically, a much faster Python interpreter (times in seconds; lower is better):
The Crosstwine Linker engine reduces the execution times by a factor of up to 5.6× on these synthetic benchmarks. Note that we had a relatively short research and experimentation phase, after which our focus was moved towards 100% compatibility, so:
-
The modified interpreter should support exactly the same feature set as the standard one, including the most esoteric tracing and debugging facilities;
-
We are only about to resume our work on performance, and expect these numbers to improve quite a bit in the near future. Don't hesitate to point us to real-world scenarios you think we ought to focus on.
And yes, we are still far from finished!
Installation
Here is a step-by-step guide of how to install one of the provided “packages”:
-
Download the most appropriate file for your distribution;
-
Execute the following command as an administrator:
$ cd / && tar xzvf /path/to/downloaded/file
This will create the /opt/crosstwine/xtpython-3.1a1-1.0a1 directory, containing the ready-to-use implementation. No files nor settings will be created/altered outside of that location;
-
Use /opt/crosstwine/xtpython-3.1a1-1.0a1/bin/xtpython3.1 as you would use the default interpreter. Optionally, add the bin/ subdirectory to your PATH environment variable.
Contact us if you have trouble following these instructions, or if you would like packages to be prepared for any other configuration.
Downloads
- Ubuntu 8.10 Server
- xtpython-3.1a1-1.0a1-Ubuntu8.10.tar.gz
- Debian Linux 5.0 (“Lenny”)
- xtpython-3.1a1-1.0a1-Debian5.0.tar.gz
- Red Hat Enterprise Linux 5.3
- xtpython-3.1a1-1.0a1-RHEL5.3.tar.gz
- SUSE Linux Enterprise Server 10
- xtpython-3.1a1-1.0a1-SLES10.tar.gz
- Fedora 10
- xtpython-3.1a1-1.0a1-F10.tar.gz
FAQ
- Do you support version 2.x of the language?
-
Almost. We realize that 3.x is seeing a relatively slow rate of adoption, and have started integrating with the 2.6 branch. We have a fully functional 2.6 version in the lab; it will be part of the upcoming “alpha 2” release (planned for mid-may).
- Is there a mailing list for Python-specific questions and discussions?
-
Yes. Please send an empty message to xtpython-subscribe@crosstwine.com to subscribe; you will be receive instructions for all the usual mailing list procedures in return.
- Is that all?
-
Some more questions are answered in the general Crosstwine Linker FAQ. Please contact us if your question is not covered.