#12313: Fix yet another memory leak caused by caching of coercion data
--------------------------------------------------------+-------------------
Reporter: SimonKing | Owner:
Type: defect | Status:
positive_review
Priority: major | Milestone:
sage-5.8
Component: memleak | Resolution:
Keywords: coercion weak dictionary | Work issues:
Report Upstream: N/A | Reviewers: Simon
King, Jean-Pierre Flori, John Perry, Nils Bruin
Authors: Simon King, Jean-Pierre Flori | Merged in:
Dependencies: #715, #11521, #12215, #13746, #13378 | Stopgaps:
--------------------------------------------------------+-------------------
Comment (by nbruin):
Replying to [comment:314 jdemeyer]:
> Now that you're diagnosing anyway, how about [comment:296]?
I guess same kind of overhead as [comment:295]. Anyway, by including and
using cdef access to `MonoDict` in the coercion lookups I have all but
eliminated these speed regressions. Previously, this code was dictionary
access, which Cython probably special cases to very fast code. The
migration to `MonoDict` must have reverted that to a more generic and
slower `__getitem__` and `__setitem__` slot lookup. See #13387 for the new
patches.
It's hard to get times that are consistent across separate build of
identical code! It seems things like branch name and choices made by the
compiler have quite a bit of influence on these tests. The time
differences I am observing now are within the variation I see when just
rebuilding the same code.
Ticket #13991 will still be necessary to solve that regression.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12313#comment:315>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.