Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #1136

PyPy 2.2

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!newsfeed.datemas.de!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <armin.rigo@gmail.com>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'win32': 0.03; 'cpython': 0.05; 'encoding': 0.05; 'url:bitbucket': 0.05; 'json': 0.07; 'pypy': 0.07; 'skip:` 10': 0.07; 'x86': 0.07; 'armin': 0.09; 'below)': 0.09; 'donating': 0.09; 'executed': 0.09; 'handful': 0.09; 'objects,': 0.09; 'release.': 0.09; 'separately': 0.09; 'setup.py': 0.09; 'url:pypy': 0.09; 'useless': 0.09; 'api': 0.11; 'sfxlen:2': 0.11; 'python': 0.11; 'url:download': 0.12; 'volunteer': 0.12; 'wrote': 0.14; 'language.': 0.14; 'windows': 0.15; '2.2,': 0.16; '2.7.3': 0.16; '32,': 0.16; '64,': 0.16; '==========': 0.16; 'arbitrarily': 0.16; 'clone': 0.16; 'compiler.': 0.16; 'from:addr:arigo': 0.16; 'from:addr:tunes.org': 0.16; 'from:name:armin rigo': 0.16; 'garbage': 0.16; 'highlight': 0.16; 'interpreter,': 0.16; 'numpy': 0.16; 'pause': 0.16; 'previously,': 0.16; 'pypy?': 0.16; 'rarely': 0.16; 'rigo': 0.16; 'sender:addr:armin.rigo': 0.16; 'subject:PyPy': 0.16; 'targets': 0.16; 'to:addr:python-announce-list': 0.16; 'tracing': 0.16; 'url:speed': 0.16; 'skip:= 10': 0.16; 'sender:addr:gmail.com': 0.17; 'fix': 0.17; 'code.': 0.18; 'bit': 0.19; 'module': 0.19; 'pfxlen:0': 0.19; 'things.': 0.19; 'meant': 0.20; 'code,': 0.22; 'memory': 0.22; 'install': 0.23; '2.2': 0.24; 'module,': 0.24; 'cheers,': 0.24; '(see': 0.26; 'compiled': 0.26; 'to:2**1': 0.27; 'fixed': 0.29; '(like': 0.30; 'moved': 0.30; 'message- id:@mail.gmail.com': 0.30; 'gives': 0.31; 'included': 0.31; 'code': 0.31; 'that.': 0.31; 'arm': 0.31; 'delayed': 0.31; 'overhead': 0.31; "we're": 0.32; 'quite': 0.32; 'linux': 0.33; 'running': 0.33; 'announce': 0.33; 'are:': 0.33; 'bugs': 0.33; 'mac': 0.33; 'used,': 0.33; 'copying': 0.34; 'core': 0.34; 'could': 0.34; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'version': 0.36; 'donors': 0.36; 'impression': 0.36; 'sponsored': 0.36; 'done': 0.36; 'doing': 0.36; 'url:org': 0.36; 'should': 0.36; 'performance': 0.37; 'thank': 0.38; 'e.g.': 0.38; 'machines': 0.38; 'handle': 0.38; 'itself': 0.39; 'to:addr:pypy- dev': 0.39; 'to:addr:python.org': 0.39; 'enough': 0.39; 'called': 0.40; 'major': 0.40; 'release': 0.40; 'continued': 0.60; 'eventually': 0.60; 'slowly': 0.60; 'here:': 0.62; 'such': 0.63; 'soon': 0.63; 'our': 0.64; 'more': 0.64; 'taking': 0.65; 'finally': 0.65; 'finish': 0.65; 'funds.': 0.65; 'details': 0.65; 'due': 0.66; 'compliant': 0.68; 'introduction': 0.68; 'integrated': 0.69; 'below.': 0.71; 'soon,': 0.74; 'walk': 0.74; '2.7.': 0.84; 'fast,': 0.84; 'games.': 0.84; 'leak.': 0.84; 'milliseconds': 0.84; 'stm': 0.84; 'steps.': 0.91; 'hot': 0.96
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:content-type; bh=6WKYrNIdr3C1oVwjUBZkJmzcM4+k9ANqC1t0tvIkfig=; b=pe7DsvUCc+P86CKIpsHRye6zBS45no2Yi62G9grL9L/YtWuFYFdEI+U16ziO+sIhI0 jeUOaNCGyw2c5giulXBu+XtmISuJt368spUp3aXqNck1TM+sQ61owDRdl9VdtJf/+W1g uQWzmHlwSobd2b/ck3fRTH+6uGHU3hPhOYE6YrcuOaEZE9ZTkFCLEo5luyL+IYP+NgC5 k41FSBB2pMZ+YaA2FXhqYBL0ycdXOd9mXA1V0tGw2DbDw3neQ7pi2QONAIGUhhn3LyL2 sf7ZaH6pE+EVmfr3oyVMNx9zOk2DcV/3NbgeRRrHh8s3yn4MGgzyZ6VJh16gC7+CuUNi 7i+A==
X-Received by 10.152.28.194 with SMTP id d2mr320891lah.2.1384421732299; Thu, 14 Nov 2013 01:35:32 -0800 (PST)
MIME-Version 1.0
Sender armin.rigo@gmail.com
From Armin Rigo <arigo@tunes.org>
Date Thu, 14 Nov 2013 10:34:52 +0100
X-Google-Sender-Auth BPvKULCtT1c1rJngSp2n_ensbrM
Subject PyPy 2.2
To PyPy Developer Mailing List <pypy-dev@python.org>, python-announce-list@python.org
Content-Type text/plain; charset=ISO-8859-1
X-Mailman-Approved-At Fri, 15 Nov 2013 11:12:02 +0100
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.15
Precedence list
Reply-To python-list@python.org
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
Approved python-announce-list@python.org
Newsgroups comp.lang.python.announce
Message-ID <mailman.2641.1384510323.18130.python-announce-list@python.org> (permalink)
Lines 91
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1384510323 news.xs4all.nl 15943 [2001:888:2000:d::a6]:47172
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python.announce:1136

Show key headers only | View raw


=======================================
PyPy 2.2 - Incrementalism
=======================================

We're pleased to announce PyPy 2.2, which targets version 2.7.3 of the Python
language. This release main highlight is the introduction of the incremental
garbage collector, sponsored by the `Raspberry Pi Foundation`_.

This release also contains several bugfixes and performance improvements.

You can download the PyPy 2.2 release here:

    http://pypy.org/download.html

Note that the Win32 download is delayed as we fix a few more things.

We would like to thank our donors for the continued support of the PyPy
project. We showed quite a bit of progress on all three projects (see below)
and we're slowly running out of funds.
Please consider donating more so we can finish those projects!  The three
projects are:

* Py3k (supporting Python 3.x): the release PyPy3 2.2 is imminent.

* STM (software transactional memory): a preview will be released very soon,
  as soon as we fix a few bugs

* NumPy: the work done is included in the PyPy 2.2 release. More details below.

.. _`Raspberry Pi Foundation`: http://www.raspberrypi.org

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

PyPy is a very compliant Python interpreter, almost a drop-in replacement for
CPython 2.7. It's fast (`pypy 2.2 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, Windows
32, or ARM (ARMv6 or ARMv7, with VFPv3).

Work on the native Windows 64 is still stalling, we would welcome a volunteer
to handle that.

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

Highlights
==========

* Our Garbage Collector is now "incremental".  It should avoid almost
  all pauses due to a major collection taking place.  Previously, it
  would pause the program (rarely) to walk all live objects, which
  could take arbitrarily long if your process is using a whole lot of
  RAM.  Now the same work is done in steps.  This should make PyPy
  more responsive, e.g. in games.  There are still other pauses, from
  the GC and the JIT, but they should be on the order of 5
  milliseconds each.

* The JIT counters for hot code were never reset, which meant that a
  process running for long enough would eventually JIT-compile more
  and more rarely executed code.  Not only is it useless to compile
  such code, but as more compiled code means more memory used, this
  gives the impression of a memory leak.  This has been tentatively
  fixed by decreasing the counters from time to time.

* NumPy has been split: now PyPy only contains the core module, called
  ``_numpypy``.  The ``numpy`` module itself has been moved to
  ``https://bitbucket.org/pypy/numpy`` and ``numpypy`` disappeared.
  You need to install NumPy separately with a virtualenv:
  ``pip install git+https://bitbucket.org/pypy/numpy.git``;
  or by directly doing
  ``git clone https://bitbucket.org/pypy/numpy.git``,
  ``cd numpy``, ``python setup.py install``.

* non-inlined calls have less overhead

* Things that use ``sys.set_trace`` are now JITted (like coverage)

* JSON encoding used to be very fast, now decoding is as well

* various buffer copying methods experience speedups (like list-of-ints to
  ``int[]`` buffer from cffi)

* We finally wrote (hopefully) all the missing ``os.xxx()`` functions,
  including ``os.startfile()`` on Windows and a handful of rare ones
  on Posix.

* numpy has a rudimentary C API that cooperates with ``cpyext``

Cheers,
Armin Rigo and Maciej Fijalkowski

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

PyPy 2.2 Armin Rigo <arigo@tunes.org> - 2013-11-14 10:34 +0100

csiph-web