#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.


Reply via email to