#14187: Check that lazy imports are not resolved during startup
--------------------------------+-------------------------------------------
Reporter: vbraun | Owner: tbd
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.8
Component: performance | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers: Nicolas M. ThiƩry
Authors: Volker Braun | Merged in:
Dependencies: | Stopgaps:
--------------------------------+-------------------------------------------
Comment (by nbruin):
Wow, it actually works! When I quickly hacked together a trial it resulted
in a failure to start up. Some funny dicts showed up, which made me a
little worried about this replacement. I see you're disabling gc during
the replacement, which I didn't do. Perhaps that's the key.
Anyway, the dictionaries you get back on referrers can be quite big, so
`ref.items()` can be a rather costly construction. If you make it
{{{
for k in [k for k,v in ref.iteritems() if v is self]:
ref[k]=obj
}}}
you should end up allocating a much shorter list (note that the key list
needs to be made before iterating over it because you should be done
iterating over the dict itself prior to modifying it, as you did).
Anyway, if Robert thinks this is less evil than what was happening before,
I won't complain either.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14187#comment:24>
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.