07 July 2014
Nuitka Release 0.5.3
This is to inform you about the new stable release of Nuitka. It is the extremely compatible Python compiler, “download now”.
This release is mostly a follow up, resolving points that have become possible to resolve after completing the C-ish evolution of Nuitka. So this is more of a service release. Improved mode The Line numbers of frames no longer get set unless an exception occurs, speeding up the normal path of execution. For standalone mode, using Corrected an issue for frames being optimized away where in fact they are still necessary. Fixed in 0.5.2.1 already. Fixed handling of exception tests as side effects. These could be remainders of optimization, but didn’t have code generation. Fixed in 0.5.2.1 already. Previously Nuitka only ever used the statement line as the line number for all the expression, even if it spawned multiple lines. Usually nothing important, and often even more correct, but sometimes not. Now the line number is most often the same as CPython in full compatibility mode, or better, see above. Python3.4: Standalone mode for Windows is working now. Standalone: Undo changes to Standalone: Fixed import error when using PyQt and Python3. For our testing approach, the improved line number handling means we can undo lots of changes that are no more necessary. The compile library test has been extended to cover a third potential location where modules may live, covering the In Python2, the list contractions used to be re-formulated to be function calls that have no frame stack entry of their own right. This required some special handling, in e.g. closure taking, and determining variable sharing across functions. This now got cleaned up to be properly in-lined in a The line number handling got simplified by pushing it into error exits only, removing the need to micro manage a line number stack which got removed. Use Providing own Debian/Ubuntu repositories for all relevant distributions. Windows MSI files for Python 3.4 were added. Hosting of the web site was moved to metal server with more RAM and performance. This release brings about structural simplification that is both a follow-up to C-ish, as well as results from a failed attempt to remove static “variable references” and be fully SSA based. It incorporates changes aimed at making this next step in Nuitka evolution smaller.New Features
--improved
now sets error lines more properly than CPython does in many cases.-python-flag=-S
mode now preserves PYTHONPATH
and therefore became usable with virtualenv.Optimization
--python-flag-S
is now always possible and yields less module usage, resulting in smaller binaries and faster compilation.Bug Fixes
PYTHONPATH
or PYTHONHOME
allowing potentially forked CPython programs to run properly.New Tests
matplotlib
module as a result.Cleanups
try
/finally
expression.intptr_t
over unsigned long
to store fiber code pointers, increasing portability.Organizational
Summary