Author: mattip <matti.pi...@gmail.com> Branch: Changeset: r80252:18f21006dc31 Date: 2015-10-16 08:49 +0300 http://bitbucket.org/pypy/pypy/changeset/18f21006dc31/
Log: refactor whatsnew-* into release notes diff --git a/pypy/doc/release-15.11.0.rst b/pypy/doc/release-15.11.0.rst --- a/pypy/doc/release-15.11.0.rst +++ b/pypy/doc/release-15.11.0.rst @@ -2,11 +2,36 @@ PyPy 15.11.0 ============ -We're pleased and proud to unleash PyPy 15.11, a major update of the PyPy python2.7.10 -compatible interpreter with a Just In Time compiler. -We have improved warmup time and memory overhead used for tracing, added vectorization -for numpy and general loops where possible on x86 hardware, ... -and increased functionality of numpy. +We're pleased and proud to unleash PyPy 15.11, a major update of the PyPy +python2.7.10 compatible interpreter with a Just In Time compiler. +We have improved `warmup time and memory overhead used for tracing`_, added +`vectorization`_ for numpy and general loops where possible on x86 hardware, +refactored rough edges in rpython, and increased functionality of numpy. + +Vectorization +============= + +Richard Plangger began work in March and continued over a Google Summer of Code +to add a optimization step to the trace optimizer. The step recognizes common +constructs and emits SIMD code where possible, much as any modern compiler does. +This vectorization happens while tracing running code, so it is actually easier +at run-time to determine the +availability of possible vectorization than it is for ahead-of-time compilers. + +Availability of SIMD hardware is detected at run time, without needing to +precompile various code paths into the executable. + +Internal Refactoring and Warmup Time Improvement +================================================ + +Maciej Fijalkowski and Armin Rigo refactored internals of rpython that now allow +PyPy to more efficiently use `guards`_ in jitted code. They also rewrote unrolling, +leading to a warmup time improvement of 20% or so at the cost of a minor +regression in jitted code speed. + +.. _`warmup time and memory overhead used for tracing`: http://morepypy.blogspot.com/2015/10 +.. _`vectorization`: http://pypyvecopt.blogspot.co.at/ +.. _`guards`: http://rpython.readthedocs.org/en/latest/glossary.html You can download the PyPy 15.11 release here: @@ -45,28 +70,49 @@ .. _freebsd: https://svnweb.freebsd.org/ports/head/lang/pypy/ .. _`dynamic languages`: http://pypyjs.org -Highlights -=========== +Highlights (since 2.6.1 release two months ago) +=============================================== * Bug Fixes - * ... + * Applied OPENBSD downstream fixes + + * Fix a crash on non-linux when running more than 20 threads + + * In cffi, ffi.new_handle() is more cpython compliant * Issues reported with our previous release were resolved_ after reports from users on our issue tracker at https://bitbucket.org/pypy/pypy/issues or on IRC at - #pypy. + #pypy * New features: - * ... + * Add an optimization pass to vectorize loops using x86 SIMD intrinsics. + + * Support __stdcall on Windows in CFFI * Numpy: - * ... + * Add support for ndarray.ctypes + + * Fast path for mixing numpy scalars and floats + + * Add support for creating Fortran-ordered ndarrays + + * Fix casting failures in linalg (by extending ufunc casting) * Performance improvements: - * ... + * Reuse hashed keys across dictionaries and sets + + * Refactor JIT interals to improve warmup time by 20% or so at the cost of a + minor regression in JIT speed + + * Recognize patterns of common sequences in the JIT backends and optimize them + + * Make the garbage collecter more intcremental over external_malloc() calls + + * Share guard resume data where possible which reduces memory usage .. _`vmprof`: https://vmprof.readthedocs.org .. _resolved: http://doc.pypy.org/en/latest/whatsnew-15.11.0.html diff --git a/rpython/doc/glossary.rst b/rpython/doc/glossary.rst --- a/rpython/doc/glossary.rst +++ b/rpython/doc/glossary.rst @@ -29,6 +29,9 @@ Code that makes it possible to write :doc:`RPython's garbage collectors <garbage_collection>` in Python itself. + guard + a small test that checks if assumptions the JIT makes during tracing are still true + JIT :doc:`just in time compiler <jit/index>`. _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit