What’s new in PyPy 1.9¶
Working hash function for numpy types.
Improved jit hooks
Added some primitives for dealing with floats as raw bytes.
Added more float byte primitives.
Put more debug info into resops.
Kill “geninterp”, an old attempt to statically turn some fixed app-level code to interp-level.
Finished select.kqueue.
Special dictionary strategy for dealing with **kwds. Now having a simple
proxy def f(*args, **kwds): return x(*args, **kwds)
should not make
any allocations at all.
numpypy can now handle matrix multiplication.
The stdlib was updated to version 2.7.2
cpyext: Better support for PyEval_SaveThread and other PyTreadState_* functions.
flatitier for numpy
reuse more of original numpy
concatenation support for numpy
indexing by bool arrays
record dtypes on numpy has been started
various refactorings regarding numpy
The “out” argument was added to most of the numypypy functions.
CPyext improvements. For example PyOpenSSL should now work
Sets now have strategies just like dictionaries. This means a set containing only ints will be more compact (and faster)
The simplest case of list comprehension is preallocating the correct size of the list. This speeds up select benchmarks quite significantly.
The directory “lib-python/modified-2.7” has been removed, and its content merged into “lib-python/2.7”.
The common case of a xrange iterator with no step argument specifed was somewhat optimized. The tightest loop involving it, sum(xrange(n)), is now 18% faster on average.
PyPy refuses filenames with chr(0) characters. This is implemented in RPython which can enforce no-NUL correctness and propagation, similar to const-correctness in C++.
Many bugs were corrected for windows 32 bit. New functionality was added to test validity of file descriptors, leading to the removal of the global _invalid_parameter_handler
Add os.kill to windows even if translating python does not have os.kill
Handle calling conventions for the _ffi and ctypes modules
Memory “leaks” associated with zlib are fixed.
The ffistruct
branch adds a very low level way to express C structures
with _ffi in a very JIT-friendly way
(preliminary work for sepcomp)