Crosstwine Labs

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

The Python logo Crosstwine Linker with Python language adapter

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):

Python benchmark results, graphic

Speedup of the CPython interpreter after Crosstwine Linker integration. Cf. our Technical White Paper for details.

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:

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”:

  1. Download the most appropriate file for your distribution;

  2. 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;

  3. 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.