1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
========================
What's new in PyPy 4.0.0
========================
.. this is a revision shortly after release-2.6.1
.. startrev: 3a8f5481dab4
.. branch: keys_with_hash
Improve the performance of ``dict.update()`` and a bunch of methods from
sets, by reusing the hash value stored in one dict when inspecting
or changing another dict with that key.
.. branch: optresult-unroll
A major refactoring of the ``ResOperations`` that kills Box. Also rewrote
unrolling to enable future enhancements. Should improve warmup time
by 20% or so.
.. branch: optimize-cond-call
Optimize common sequences of operations like
``int_lt/cond_call`` in the JIT backends
.. branch: missing_openssl_include
Fix for missing headers in OpenBSD, already applied in downstream ports
.. branch: gc-more-incremental
Remove a source of non-incremental-ness in the GC: now
``external_malloc()`` no longer runs ``gc_step_until()`` any more. If there
is a currently-running major collection, we do only so many steps
before returning. This number of steps depends on the size of the
allocated object. It is controlled by tracking the general progress
of these major collection steps and the size of old objects that
keep adding up between them.
.. branch: remember-tracing-counts
Reenable jithooks
.. branch: detect_egd2
.. branch: shadowstack-no-move-2
Issue #2141: fix a crash on Windows and OS/X and ARM when running
at least 20 threads.
.. branch: numpy-ctypes
Add support for ndarray.ctypes property.
.. branch: share-guard-info
Share guard resume data between consecutive guards that have only
pure operations and guards in between.
.. branch: issue-2148
Fix performance regression on operations mixing numpy scalars and Python
floats, cf. issue #2148.
.. branch: cffi-stdcall
Win32: support ``__stdcall`` in CFFI.
.. branch: callfamily
Refactorings of annotation and rtyping of function calls.
.. branch: fortran-order
Allow creation of fortran-ordered ndarrays
.. branch: type_system-cleanup
Remove some remnants of the old ``ootypesystem`` vs ``lltypesystem`` dichotomy.
.. branch: cffi-handle-lifetime
``ffi.new_handle()`` returns handles that work more like CPython's: they
remain valid as long as the target exists (unlike the previous
version, where handles become invalid *before* the ``__del__`` is called).
.. branch: ufunc-casting
allow automatic casting in ufuncs (and ``frompypyfunc``) to cast the
arguments to the allowed function type declarations, fixes various
failures in linalg CFFI functions
.. branch: vecopt
.. branch: vecopt-merge
A new optimization pass to use emit vectorized loops
.. branch: ppc-updated-backend
The PowerPC JIT backend is merged.
.. branch: osx-libffi
.. branch: lazy-fast2locals
Improve the performance of simple trace functions by lazily calling
``fast2locals`` and ``locals2fast`` only if ``f_locals`` is actually accessed.
|