#14159: Don't install callbacks on values of TripleDict, MonoDict
------------------------------+---------------------------------------------
Reporter: nbruin | Owner: tbd
Type: defect | Status: needs_review
Priority: major | Milestone: sage-5.8
Component: memleak | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers: Nils Bruin
Authors: Simon King | Merged in:
Dependencies: #13387 | Stopgaps:
------------------------------+---------------------------------------------
Comment (by SimonKing):
Note that in the most recent run, the startup time plugin did actually
''not'' complain!
Nevertheless, I think we should care about speed. I see two approaches to
improve the startup time, the second of them would improve the general
performance.
1. I found that a dozen of homsets are created ''and'' deleted during
startup. One should find where they are created, and see whether their
creation is really needed or whether one can avoid that the get deleted.
2. `MonoDict` and `TripleDict` have fast cdef set and get methods, but
they are not always used. At least in Cython modules, we should try to
find all locations which could benefit from replacing `T[a,b,c]` by
`T.get(a,b,c)`. And even for Python modules, I think it would make sense
to turn the cdef get and set methods into cpdef get and set methods: I
guess it would still be faster then `T[a,b,c]`, because one avoids the
test
{{{
try:
k1, k2, k3 = k
except (TypeError,ValueError):
raise KeyError, k
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14159#comment:38>
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.