<br>Sweet. ^_^ I see the permissions bits look better now too.<br><br>I miss os.stat().st_rdev though - was it removed for a reason?<br><br><div class="gmail_quote">On Thu, Aug 18, 2011 at 10:30 AM, Maciej Fijalkowski <span dir="ltr"><<a href="mailto:fijall@gmail.com">fijall@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">========================<br>
PyPy 1.6 - kickass panda<br>
========================<br>
<br>
We're pleased to announce the 1.6 release of PyPy. This release brings a lot<br>
of bugfixes and performance improvements over 1.5, and improves support for<br>
Windows 32bit and OS X 64bit. This version fully implements Python 2.7.1 and<br>
has beta level support for loading CPython C extensions. You can download it<br>
here:<br>
<br>
<a href="http://pypy.org/download.html" target="_blank">http://pypy.org/download.html</a><br>
<br>
What is PyPy?<br>
=============<br>
<br>
PyPy is a very compliant Python interpreter, almost a drop-in replacement for<br>
CPython 2.7.1. It's fast (`pypy 1.5 and cpython 2.6.2`_ performance comparison)<br>
due to its integrated tracing JIT compiler.<br>
<br>
This release supports x86 machines running Linux 32/64 or Mac OS X. Windows 32<br>
is beta (it roughly works but a lot of small issues have not been fixed so<br>
far). Windows 64 is not yet supported.<br>
<br>
The main topics of this release are speed and stability: on average on<br>
our benchmark suite, PyPy 1.6 is between **20% and 30%** faster than PyPy 1.5,<br>
which was already much faster than CPython on our set of benchmarks.<br>
<br>
The speed improvements have been made possible by optimizing many of the<br>
layers which compose PyPy. In particular, we improved: the Garbage Collector,<br>
the JIT warmup time, the optimizations performed by the JIT, the quality of<br>
the generated machine code and the implementation of our Python interpreter.<br>
<br>
.. _`pypy 1.5 and cpython 2.6.2`: <a href="http://speed.pypy.org" target="_blank">http://speed.pypy.org</a><br>
<br>
<br>
Highlights<br>
==========<br>
<br>
* Numerous performance improvements, overall giving considerable speedups:<br>
<br>
- better GC behavior when dealing with very large objects and arrays<br>
<br>
- **fast ctypes:** now calls to ctypes functions are seen and optimized<br>
by the JIT, and they are up to 60 times faster than PyPy 1.5 and 10 times<br>
faster than CPython<br>
<br>
- improved generators(1): simple generators now are inlined into the caller<br>
loop, making performance up to 3.5 times faster than PyPy 1.5.<br>
<br>
- improved generators(2): thanks to other optimizations, even generators<br>
that are not inlined are between 10% and 20% faster than PyPy 1.5.<br>
<br>
- faster warmup time for the JIT<br>
<br>
- JIT support for single floats (e.g., for ``array('f')``)<br>
<br>
- optimized dictionaries: the internal representation of dictionaries is now<br>
dynamically selected depending on the type of stored objects, resulting in<br>
faster code and smaller memory footprint. For example, dictionaries whose<br>
keys are all strings, or all integers. Other dictionaries are also smaller<br>
due to bugfixes.<br>
<br>
* JitViewer: this is the first official release which includes the JitViewer,<br>
a web-based tool which helps you to see which parts of your Python code have<br>
been compiled by the JIT, down until the assembler. The `jitviewer`_ 0.1 has<br>
already been release and works well with PyPy 1.6.<br>
<br>
* The CPython extension module API has been improved and now supports many<br>
more extensions. For information on which one are supported, please refer to<br>
our `compatibility wiki`_.<br>
<br>
* Multibyte encoding support: this was of of the last areas in which we were<br>
still behind CPython, but now we fully support them.<br>
<br>
* Preliminary support for NumPy: this release includes a preview of a very<br>
fast NumPy module integrated with the PyPy JIT. Unfortunately, this does<br>
not mean that you can expect to take an existing NumPy program and run it on<br>
PyPy, because the module is still unfinished and supports only some of the<br>
numpy API. However, barring some details, what works should be<br>
blazingly fast :-)<br>
<br>
* Bugfixes: since the 1.5 release we fixed 53 bugs in our `bug tracker`_, not<br>
counting the numerous bugs that were found and reported through other<br>
channels than the bug tracker.<br>
<br>
Cheers,<br>
<br>
Hakan Ardo, Carl Friedrich Bolz, Laura Creighton, Antonio Cuni,<br>
Maciej Fijalkowski, Amaury Forgeot d'Arc, Alex Gaynor,<br>
Armin Rigo and the PyPy team<br>
<br>
.. _`jitviewer`:<br>
<a href="http://morepypy.blogspot.com/2011/08/visualization-of-jitted-code.html" target="_blank">http://morepypy.blogspot.com/2011/08/visualization-of-jitted-code.html</a><br>
.. _`bug tracker`: <a href="https://bugs.pypy.org" target="_blank">https://bugs.pypy.org</a><br>
.. _`compatibility wiki`: <a href="https://bitbucket.org/pypy/compatibility/wiki/Home" target="_blank">https://bitbucket.org/pypy/compatibility/wiki/Home</a><br>
_______________________________________________<br>
pypy-dev mailing list<br>
<a href="mailto:pypy-dev@python.org">pypy-dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/pypy-dev" target="_blank">http://mail.python.org/mailman/listinfo/pypy-dev</a><br>
</blockquote></div><br>