This version fixed many regressions reported by user for the 0.12 release. This release contains a new loop-lifting mechanism that specializes certains loop patterns for nopython mode compilation. This avoid direct support for heap-allocating and other very dynamic operations.
Improvements:
Fixes:
Version 0.12 contains a big refactor of the compiler. The main objective for this refactor was to simplify the code base to create a better foundation for further work. A secondary objective was to improve the worst case performance to ensure that compiled functions in object mode never run slower than pure Python code (this was a problem in several cases with the old code base). This refactor is still a work in progress and further testing is needed.
Main improvements:
The public interface of numba has been slightly changed. The idea is to make it cleaner and more rational:
Main regressions (will be fixed in a future release):
Python 3 support for pycc
Fixed a memory leak of array slicing views
Open sourced single-threaded ufunc vectorizer
Open sourced NumPy array expression compilation
Open sourced fast NumPy array slicing
Experimental Python 3 support
Support for iteration over objects
Support object comparisons
Improved support for ctypes
Allow declaring extension attribute types as through class attributes
Allow jit functions as C callbacks
Friendlier error reporting
Internal improvements
A variety of bug fixes
Python 2.6 support
Much faster autojit dispatch when calling from Python
Faster numerical loops through data and stride pre-loading
Integral overflow and underflow checking for conversions from objects
Make Meta dependency optional
Support multiple comparisons
Support for template types
List comprehensions
Support for pointers
Many bug fixes
Added user documentation
Many features need to be documented still. Look at examples and tests for more information.