pypy / pypy / doc / release-1.9.0.rst

Maciej Fijalkows… 0624114 




Armin Rigo a76be72 

Maciej Fijalkows… 0624114 

Armin Rigo a76be72 


Maciej Fijalkows… 0624114 

Armin Rigo a76be72 




















Maciej Fijalkows… 7aaa37a 
Armin Rigo a76be72 
Maciej Fijalkows… 7aaa37a 
Armin Rigo a76be72 
Maciej Fijalkows… 7aaa37a 
Armin Rigo a76be72 



Maciej Fijalkows… 52591d7 
Armin Rigo a76be72 






Maciej Fijalkows… c18c988 


Armin Rigo a76be72 



Maciej Fijalkows… c18c988 

Armin Rigo a76be72 



Maciej Fijalkows… c18c988 

Armin Rigo a76be72 






Maciej Fijalkows… 0e45473 

Armin Rigo a76be72 
Antonio Cuni d4cd53e 


Antonio Cuni 503851d 


Antonio Cuni d4cd53e 
Armin Rigo a76be72 


Maciej Fijalkows… 0e45473 

Armin Rigo a76be72 
Maciej Fijalkows… c18c988 






Maciej Fijalkows… 0e45473 








Maciej Fijalkows… d3e13f5 

====================
PyPy 1.9 - Yard Wolf
====================

We're pleased to announce the 1.9 release of PyPy. This release brings mostly
bugfixes, performance improvements, other small improvements and overall
progress on the `numpypy`_ effort.
It also brings an improved situation on windows and OS X.

You can download the PyPy 1.9 release here:

    http://pypy.org/download.html 

.. _`numpypy`: http://pypy.org/numpydonate.html

What is PyPy?
=============

PyPy is a very compliant Python interpreter, almost a drop-in replacement for
CPython 2.7. It's fast (`pypy 1.9 and cpython 2.7.2`_ performance comparison)
due to its integrated tracing JIT compiler.

This release supports x86 machines running Linux 32/64, Mac OS X 64 or
Windows 32.  Windows 64 work is still stalling, we would welcome a volunteer
to handle that.

.. _`pypy 1.9 and cpython 2.7.2`: http://speed.pypy.org


Thanks to our donators
======================

But first of all, we would like to say thank you to all people who
donated some money to one of our four calls:

  * `NumPy in PyPy`_ (got so far $44502 out of $60000, 74%)

  * `Py3k (Python 3)`_ (got so far $43563 out of $105000, 41%)

  * `Software Transactional Memory`_ (got so far $21791 of $50400, 43%)

  * as well as our general PyPy pot.

Thank you all for proving that it is indeed possible for a small team of
programmers to get funded like that, at least for some
time.  We want to include this thank you in the present release
announcement even though most of the work is not finished yet.  More
precisely, neither Py3k nor STM are ready to make it an official release
yet: people interested in them need to grab and (attempt to) translate
PyPy from the corresponding branches (respectively ``py3k`` and
``stm-thread``).

.. _`NumPy in PyPy`: http://pypy.org/numpydonate.html
.. _`Py3k (Python 3)`: http://pypy.org/py3donate.html
.. _`Software Transactional Memory`: http://pypy.org/tmdonate.html

Highlights
==========

* This release still implements Python 2.7, the standard library has been
  upgraded to CPython 2.7.2.

* Many bugs were corrected for Windows 32 bit.  This includes new
  functionality to test the validity of file descriptors; and
  correct handling of the calling convensions for ctypes.  (Still not
  much progress on Win64.) A lot of work on this has been done by Matti Picus
  and Amaury Forgeot D'Arc.

* Improvements in ``cpyext``, our emulator for CPython C extension modules.
  For example PyOpenSSL should now work.

* Sets now have strategies just like dictionaries. This means for example
  that a set containing only ints will be more compact (and faster).

* A lot of progress on various aspects of ``numpypy``. See `numpy-status`_
  page for the automatic report.

* It is now possible to create and manipulate C-like structures using the
  PyPy-only ``_ffi`` module.  The advantage over using e.g. ``ctypes`` is that
  ``_ffi`` is very JIT-friendly, and getting/setting of fields is translated
  to few assembler instructions by the JIT. However, this is mostly intended
  as a low-level backend to be used by more user-friendly FFI packages, and
  the API might change in the future. Use it at your own risk.

* The non-x86 backends for the JIT are progressing but are still not
  merged (ARMv7 and PPC64).

* JIT hooks for inspecting the created assembler code has been improved.
  See `JIT hooks documentation`_ for details.

* ``select.kqueue`` has been added.

* Handling of keyword arguments has been drastically improved in the best-case
  scenario.

* List comprehension has been improved.

JitViewer
=========

There is a corresponding 1.9 release of JitViewer which is guaranteed to work
with PyPy 1.9. See `JitViewer docs`_ for details.

.. _`numpy status`: http://buildbot.pypy.org/numpy-status/latest.html
.. _`JitViewer docs`: http://bitbucket.org/pypy/jitviewer
.. _`JIT hooks documentation`: http://doc.pypy.org/en/latest/jit-hooks.html

Cheers,
The PyPy Team
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.