On 28 October 2011 21:59, mark florisson <markflorisso...@gmail.com> wrote: > On 28 October 2011 21:55, Robert Bradshaw <rober...@math.washington.edu> > wrote: >> With Mark's fused types and memory views going in, I think it's about >> time for a new release. Thoughts? Anyone want to volunteer to take up >> the process? >> >> - Robert >> _______________________________________________ >> cython-devel mailing list >> cython-devel@python.org >> http://mail.python.org/mailman/listinfo/cython-devel >> > > That'd be cool. However there are a few outstanding issues: > a) the compiler is somewhat slower (possible solution: lazy utility codes) > b) there's a potential memory leak problem for memoryviews with > object dtype that contain themselves, this still needs investigation. > > As for a), Stefan mentioned code spending a lot of time in sub. > Stefan, could you post the code for this that made Cython compile very > slowly? >
It seems that NumPy does not support cyclic references, it has '(traverseproc)0, /* tp_traverse */' in its source (PyArray_Type is the ndarray right?). Indeed, this code prints "deallocated!" only if there is no reference cycle: import numpy cdef class DeallocateMe(object): def __dealloc__(self): print "deallocated!" a = numpy.arange(20, dtype=numpy.object) a[10] = DeallocateMe() a[1] = a # <- try commenting out this line del a import gc gc.collect() Anyway, I got it to traverse and clear the buffer object and the memoryview slice struct, so it should work if the buffer exporter supports cycles. _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel