~hruske Hruške, jabuke, jablane, čežane. » 2009 » April
Home Contact Sitemap

Hruške, jabuke, jablane, čežane.

Ste se gdaj vprašali, zakaj Najboljšega soseda nikoli ni doma, ko pridete na obisk?

PyPy 1.1 beta in the wild!

Posted on April 20th, 2009 in dovhcajt |

Python_breitensteini_.
Image via Wikipedia

A new version of PyPy, the promising Python implementation has today gotten a new release, version 1.1 beta. It brings a bulk of new stuff, that has been in development in past months. Among them is support for CPython 2.5, better support for standard library modules and hopefully less bugs. It’s also a bit speedier than the 1.0 release, largely because of the improvements in garbage collection. It has also received a lot of testing with actual applications, so you can now run Django or Bittorrent on PyPy. Also, PyPy uses less memory than CPython and is attracting interest from the mobile handset manufacturers. Note though, that this release does not bring any big JIT improvements, this is supposed to arrive with the next release.

The PyPy project is a huge effort and it works now quite well as a compiled interpreter. The core developers have lots of work to do with the interpreter and JIT, so there’s noone who would tackle the problem of missing support for C extensions. C extensions are supported, but not via the Python C API, that is offered by CPython, but rather by using libFFI, which interacts with dynamic libraries. This is quite a setback if you rely on 3rd party C extensions.

The fact is that CPython’s API cannot be supported by PyPy due to a lot of CPython implementation specific details and limitations, eg. CPython uses reference counting while PyPy supports a number of garbage collection mechanisms. I however think PyPy still needs a decent C API, resembling CPython’s as much as possible in order to ease the porting, but not hamper development or impose any grave limitation to PyPy. The large 3rd party code base that is out there could then (ideally) be used with a simple recompilation with PyPy headers.

But before that can happen there’s lots of hard and tedious work to be done, but no volunteers. Maybe I should rather start this post with a “Dear lazy web”?

Reblog this post [with Zemanta]
Komentarji so izklopljeni