智能化下的产物,无人棋牌室
PyPy 5.0 发布了,PyPy 是用Python实现的Python解释器。
PyPy是,Python开发者为了更好的Hack Python创建的项目。此外,PyPy比CPython是更加灵活,易于使用和试验,以制定具体的功能在不同情况的实现方法,可以很容易实施。 该项目的目标是,让PyPy比C实现的Python更为容易的适应各个项目和方便裁剪。
改进记录:
新特性
- Support embedding PyPy in a C-program via cffi and static callbacks in cffi.
This deprecates the old method of embedding PyPy - Refactor vmprof to work cross-operating-system, deprecate using buggy
libunwind on Linux platforms. Vmprof even works on Windows now. - Support more of the C-API type slots, like tp_getattro, and fix C-API
macros, functions, and structs such as _PyLong_FromByteArray(),
PyString_GET_SIZE, f_locals in PyFrameObject, Py_NAN, co_filename in
PyCodeObject - Use a more stable approach for allocating PyObjects in cpyext. (see
blog post). Once the PyObject corresponding to a PyPy object is created,
it stays around at the same location until the death of the PyPy object.
Done with a little bit of custom GC support. It allows us to kill the
notion of “borrowing” inside cpyext, reduces 4 dictionaries down to 1, and
significantly simplifies the whole approach (which is why it is a new
feature while technically a refactoring) and allows PyPy to support the
populart lxml module (as of the next release) with no PyPy specific
patches needed - Make the default filesystem encoding ASCII, like CPython
- Use hypothesis in test creation, which is great for randomizing tests
Bug 修复
- Backport always using os.urandom for uuid4 from cpython and fix the JIT as well
(issue #2202) - More completely support datetime, optimize timedelta creation
- Fix for issue #2185 which caused an inconsistent list of operations to be
generated by the unroller, appeared in a complicated DJango app - Fix an elusive issue with stacklets on shadowstack which showed up when
forgetting stacklets without resuming them - Fix entrypoint() which now acquires the GIL
- Fix direct_ffi_call() so failure does not bail out before setting CALL_MAY_FORCE
- Fix (de)pickling long values by simplifying the implementation
- Fix RPython rthread so that objects stored as threadlocal do not force minor
GC collection and are kept alive automatically. This improves perfomance of
short-running Python callbacks and prevents resetting such object between
calls - Support floats as parameters to itertools.isslice()
- Check for the existence of CODESET, ignoring it should have prevented PyPy
from working on FreeBSD - Fix for corner case (likely shown by Krakatau) for consecutive guards with
interdependencies - Fix applevel bare class method comparisons which should fix pretty printing
in IPython - 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
详细请看:http://morepypy.blogspot.com/2016/03/pypy-50-released.html
下载地址:http://pypy.org/download.htm