472,796 Members | 1,304 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,796 software developers and data experts.

pypy-0.9.0: stackless, new extension compiler

The PyPy development team has been busy working and we've now packaged
our latest improvements, completed work and new experiments as
version 0.9.0, our fourth public release.

The highlights of this fourth release of PyPy are:

**implementation of "stackless" features**
We now support the larger part of the interface of the original
Stackless Python -- see http://www.stackless.com for more. A
significant part of this is the pickling and unpickling of a running
tasklet.

These features, especially the pickling, can be considered to be a
"technology preview" -- they work, but for example the error handling
is a little patchy in places.

**ext-compiler**
The "extension compiler" is a new way of writing a C extension for
CPython and PyPy at the same time. For more information, see its
documentation: http://codespeak.net/pypy/dist/pypy/...tcompiler.html

**rctypes**
Most useful in combination with the ext-compiler is the fact that our
translation framework can translate code that uses the
standard-in-Python-2.5 ctypes module. See its documentation for more:
http://codespeak.net/pypy/dist/pypy/doc/rctypes.html

**framework GCs**
PyPy's interpreter can now be compiled to use a garbage collector
written in RPython. This added control over PyPy's execution makes the
implementation of new and interesting features possible, apart from
being a significant achievement in its own right.

**__del__/weakref/__subclasses__**
The PyPy interpreter's compatibility with CPython continues improves:
now we support __del__ methods, the __subclasses__ method on types and
weak references. We now pass around 95% of CPython's core tests.

**logic space preview**
This release contains the first version of the logic object space,
which will add logical variables to Python. See its docs for more:
http://codespeak.net/pypy/dist/pypy/...space-0.9.html

**high level backends preview**
This release contains the first versions of new backends targeting high
level languages such as Squeak and .NET/CLI and updated versions of the
JavaScript and Common Lisp backends. They can't compile the PyPy
interpreter yet, but they're getting there...

**bugfixes, better performance**
As you would expect, performance continues to improve and bugs continue
to be fixed. The performance of the translated PyPy interpreter is
2.5-3x times faster than 0.8 (on richards and pystone), and is now
stable enough to be able to run CPython's test suite to the end.

**testing refinements**
py.test, our testing tool, now has preliminary support for doctests.
We now run all our tests every night, and you can see the summary at:
http://snake.cs.uni-duesseldorf.de/p...t/summary.html

What is PyPy (about)?
------------------------------------------------

PyPy is a MIT-licensed research-oriented reimplementation of Python
written in Python itself, flexible and easy to experiment with. It
translates itself to lower level languages. Our goals are to target a
large variety of platforms, small and large, by providing a
compilation toolsuite that can produce custom Python versions.
Platform, memory and threading models are to become aspects of the
translation process - as opposed to encoding low level details into
the language implementation itself. Eventually, dynamic optimization
techniques - implemented as another translation aspect - should become
robust against language changes.

Note that PyPy is mainly a research and development project and does
not by itself focus on getting a production-ready Python
implementation although we do hope and expect it to become a viable
contender in that area sometime next year.

PyPy is partially funded as a research project under the European
Union's IST programme.

Where to start?
-----------------------------

Getting started: http://codespeak.net/pypy/dist/pypy/...g-started.html

PyPy Documentation: http://codespeak.net/pypy/dist/pypy/doc/

PyPy Homepage: http://codespeak.net/pypy/

The interpreter and object model implementations shipped with the 0.9
version can run on their own and implement the core language features
of Python as of CPython 2.4. However, we still do not recommend using
PyPy for anything else than for education, playing or research
purposes.

Ongoing work and near term goals
---------------------------------

The Just-in-Time compiler and other performance improvements will be one of
the main topics of the next few months' work, along with finishing the
logic object space.

Project Details
---------------

PyPy has been developed during approximately 20 coding sprints across
Europe and the US. It continues to be a very dynamically and
incrementally evolving project with many of these one-week workshops
to follow.

PyPy has been a community effort from the start and it would
not have got that far without the coding and feedback support
from numerous people. Please feel free to give feedback and
raise questions.

contact points: http://codespeak.net/pypy/dist/pypy/doc/contact.html

have fun,

the pypy team, (Armin Rigo, Samuele Pedroni,
Holger Krekel, Christian Tismer,
Carl Friedrich Bolz, Michael Hudson,
and many others: http://codespeak.net/pypy/dist/pypy/...ntributor.html)

PyPy development and activities happen as an open source project
and with the support of a consortium partially funded by a two
year European Union IST research grant. The full partners of that
consortium are:

Heinrich-Heine University (Germany), AB Strakt (Sweden)
merlinux GmbH (Germany), tismerysoft GmbH (Germany)
Logilab Paris (France), DFKI GmbH (Germany)
ChangeMaker (Sweden), Impara (Germany)

--
Monte Carlo sampling is no way to understand code.
-- Gordon McMillan, comp.lang.python
Jun 25 '06 #1
2 1807
I've been away from Usenet for a while but this is the most interesting
stuff I've seen here in ages. Way cool.

Jun 25 '06 #2
Hi all!

Michael Hudson wrote:
The PyPy development team has been busy working and we've now packaged
our latest improvements, completed work and new experiments as
version 0.9.0, our fourth public release.


Unfortunately the download links for the release tarballs did not work
until very recently. They are now working though. You can download the
0.9 release of PyPy under:

http://codespeak.net/download/pypy/pypy-0.9.0.tar.bz2
http://codespeak.net/download/pypy/pypy-0.9.0.tar.gz
http://codespeak.net/download/pypy/pypy-0.9.0.zip

For detailed notes about how to get started into the world of PyPy see
here:

http://codespeak.net/pypy/dist/pypy/...g-started.html

Sorry for the fuss and cheers,

Carl Friedrich Bolz

Jun 26 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: holger krekel | last post by:
Hi Pythonistas and interested developers, PyPy, the python-in-python implementation, is steadily moving on. The next coding sprint will take place in Vilnius, Lithunia, from 15th to 23rd of...
0
by: holger krekel | last post by:
Hi again, On Fri, May 20, 2005 at 23:38 +0200, holger krekel wrote: > The PyPy 0.6 release > -------------------- has already been superseded by the PyPy 0.6.1 bug-fix release. We are...
0
by: Armin Rigo | last post by:
Post-EuroPython 2005 PyPy Sprint 1st - 7th July 2005 ====================================================== The next PyPy sprint is scheduled right after EuroPython 2005 in Gothenborg, Sweden. ...
10
by: Carl Friedrich Bolz | last post by:
pypy-0.7.0: first PyPy-generated Python Implementations ============================================================== What was once just an idea between a few people discussing on some nested...
0
by: Michael Hudson | last post by:
Introduction ============ This is the second of what will hopefully be many summaries of what's been going on in the world of PyPy in the last week. I'd still like to remind people that when...
23
by: Ray | last post by:
Hello! I've been reading about PyPy, but there are some things that I don't understand about it. I hope I can get some enlightenment in this newsgroup :) First, the intro: <excerpt> "The...
0
by: Carl Friedrich Bolz | last post by:
Last chance to join the Summer of PyPy! ======================================= Hopefully by now you have heard of the "Summer of PyPy", our program for funding the expenses of attending a...
0
by: holger krekel | last post by:
========================================================================= PyPy Trillke "EU and beyond!" sprints (25-28th Feb, 1-5th March 2006)...
0
by: WChunming | last post by:
Hi, I am a newbie to python and pypy. I choose to read pypy source code to learn about python and python library. But when I try to run pypy in debug mode in pydev, I got the following problem:...
0
by: Carl Friedrich Bolz | last post by:
===================================================================== PyPy Berlin Sprint (17-22nd May 2008) ===================================================================== The next PyPy...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Sept 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: lllomh | last post by:
How does React native implement an English player?
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.