What’s new in PyPy 5.1¶
The jit compiler backend implementation for the s390x architecutre. The backend manages 64-bit values in the literal pool of the assembly instead of loading them as immediates. It includes a simplification for the operation ‘zero_array’. Start and length parameters are bytes instead of size.
Replace py.log with something simpler, which should speed up logging
Implemented numpy.where for 1 argument (thanks sergem)
Implement yet another strange numpy indexing compatibility; indexing by a scalar returns a scalar
Allow arguments to transpose to be sequences
Improve the tracing speed in the frontend as well as heapcache by using a more compact representation of traces
Wrap more POSIX functions in rpython.rlib.rposix.
A local clean-up in the JIT front-end.
Remove the forced minor collection that occurs when rewriting the assembler at the start of the JIT backend. This is done by emitting the ConstPtrs in a separate table, and loading from the table. It gives improved warm-up time and memory usage, and also removes annoying special-purpose code for pinned pointers.
Remove old uneeded numpy headers, what is left is only for testing. Also generate pypy_numpy.h which exposes functions to directly use micronumpy ndarray and ufuncs
Reuse rposix definition of TIMESPEC in rposix_stat, add wrapper for fstatat(). This updates the underlying rpython functions with the ones needed for the py3k branch
Add broadcast to micronumpy