[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-cython
Module Name: pkgsrc
Committed By: wiz
Date: Sun Oct 7 21:28:34 UTC 2012
pkgsrc/devel/py-cython: Makefile PLIST distinfo
Update to 0.17.1:
General Improvements and Bug Fixes
A reference leak was fixed in the new dict iteration code when
the loop target was not a plain variable but an unpacked tuple.
Memory views did not handle the special case of a NULL buffer
strides value, as allowed by PEP3118.
Alpha quality support for compiling and running Cython generated
extension modules in PyPy (through cpyext). Note that this
requires at leastPyPy 1.9 and in many cases also adaptations
in user code, especially to avoid borrowed references when no
owned reference is being held directly in C space (a reference
in a Python list or dict is not enough, for example). See the
documentation on porting Cython code to PyPy.
"yield from" is supported (PEP 380) and a couple of minor
problems with generators were fixed.
C++ STL container classes automatically coerce from and to the
equivalent Python container types on typed assignments and
casts. Usage examples are here. Note that the data in the
containers is copied during this conversion.
C++ iterators can now be iterated over using for x in cpp_container
whenever cpp_container has begin() and end() methods returning
objects satisfying the iterator pattern (that is, it can be
incremented, dereferenced, and compared (for non-equality)).
cdef classes can now have C++ class members (provided a
zero-argument constructor exists)
A new cpython.array standard cimport file allows to efficiently
talk to the stdlib array.array data type in Python 2. Since
CPython does not export an official C-API for this module, it
receives special casing by the compiler in order to avoid setup
overhead on user side. In Python 3, both buffers and memory
views on the array type already worked out of the box with
earlier versions of Cython due to the native support for the
buffer interface in the Py3 array module.
Fast dict iteration is now enabled optimistically also for
untyped variables when the common iteration methods are used.
The unicode string processing code was adapted for the upcoming
CPython 3.3 (PEP 393, new Unicode buffer layout).
Buffer arguments and memory view arguments in Python functions
can be declared "not None" to raise a TypeError on None input.
c(p)def functions in pure mode can specify their return type
Automatic dispatch for fused functions with memoryview arguments
Support newaxis indexing for memoryviews
Support decorators for fused functions
General Improvements and Bug Fixes
Old-style Py2 imports did not work reliably in Python 3.x and
were broken in Python 3.3. Regardless of this fix, it's generally
best to be explicit about relative and global imports in Cython
code because old-style imports have a higher overhead. To this
end, "from __future__ import absolute_import" is supported in
Python/Cython 2.x code now (previous versions of Cython already
used it when compiling Python 3 code).
Stricter constraints on the inline and final modifiers. If your
code does not compile due to this change, chances are these
modifiers were previously being ignored by the compiler and
can be removed without any performance regression.
Exceptions are always instantiated while raising them (as in
Python), instead of risking to instantiate them in potentially
unsafe situations when they need to be handled or otherwise
locals() properly ignores names that do not have Python compatible
types (including automatically inferred types).
Some garbage collection issues of memory views were fixed.
User declared char* types are now recognised as such and
auto-coerce to and from Python bytes strings.
libc.string provides a convenience declaration for const uchar
in addition to const char.
Modules generated by @cython.inline() are written into the
directory pointed to by the environment variable CYTHON_CACHE_DIR
numpy.pxd compiles in Python 3 mode.
callable() and next() compile to more efficient C code.
list.append() is faster on average.
Several C compiler warnings were fixed.
Several bugs related to memoryviews and fused types were fixed.
Several bug-fixes and improvements related to cythonize(),
including ccache-style caching.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 pkgsrc/devel/py-cython/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/py-cython/PLIST
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/py-cython/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Main Index |
Thread Index |