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 PyPy 5.0 发布,Python 解释器下载地址