Armin Rigo committed 008b5cf

Add the announcement for 1.4.1.

  • Participants
  • Parent commits 6078d6b

Comments (0)

Files changed (1)


+PyPy 1.4.1
+We're pleased to announce the 1.4.1 release of PyPy.  This release
+consolidates all the bug fixes that occurred since the previous release.
+To everyone that took the trouble to report them, we want to say thank you.
+What is PyPy
+PyPy is a very compliant Python interpreter, almost a drop-in
+replacement for CPython.  Note that it still only emulates Python
+2.5 by default; the ``fast-forward`` branch with Python 2.7
+support is slowly getting ready but will only be integrated in
+the next release.
+In two words, the advantage of trying out PyPy instead of CPython
+(the default implementation of Python) is, for now, the
+performance.  Not all programs are faster in PyPy, but we are
+confident that any CPU-intensive task will be much faster, at
+least if it runs for long enough (the JIT has a slow warm-up
+phase, which can take several seconds or even one minute on the
+largest programs).
+Note again that we do support compiling and using C extension
+modules from CPython (``pypy install``).  However, this
+is still an alpha feature, and the most complex modules typically
+fail for various reasons; others work (e.g. ``PIL``) but take a
+serious performance hit.
+Please note also that PyPy's performance was optimized almost
+exclusively on Linux.  It seems from some reports that on Windows
+as well as Mac OS X (probably for different reasons) the
+performance might be lower.  We did not investigate much so far.
+More highlights
+* We migrated to Mercurial (thanks Antocuni and Ronny for the
+  effort) and moved to bitbucket.  The new command to check out
+  a copy of PyPy is::
+        hg clone
+* In long-running processes, the assembler generated by old JIT-compilations
+  is now freed.  There should be no more leak, however long the process runs.
+* Improve a lot the performance of the ``binascii`` module, and of
+  ``hashlib.md5`` and ``hashlib.sha``.
+* Fix argument processing (now e.g. ``pypy -OScpass`` works like
+  it does on CPython --- if you have a clue what it does there ``:-)`` )
+* Fix cpyext on Mac OS X.  (Loading C extension modules in PyPy is still
+  considered *alpha stage!*)
+* Fix two corner cases in the GC (one in minimark, one in asmgcc+JIT).
+  This notably prevented "pypy -Ojit" from working on Windows,
+  leading to crashes.
+* Fixed a corner case in the JIT's optimizer, leading to "Fatal RPython
+  error: AssertionError".
+* Added some missing built-in functions into the 'os' module.
+* Fix ctypes (it was not propagating keepalive information from c_void_p).
+* Made sys.setrecursionlimit() a no-op.
+  Instead, we rely purely on the built-in stack overflow detection mechanism,
+  which also gives you a RuntimeError -- just not at some exact recursion
+  level.
+Armin Rigo, for the rest of the team