#15293: Lazy import root systems, crystals and other combinatorics features to 
save
on startup time.
-------------------------------------------------+-------------------------
   Reporter:  nthiery                            |            Owner:
       Type:  enhancement                        |           Status:  new
   Priority:  major                              |        Milestone:
  Component:  performance                        |  sage-5.13
  Merged in:                                     |         Keywords:
  Reviewers:                                     |          Authors:
Work issues:  Check that all test pass, check    |  Nicolas M. ThiƩry
  it does not conflict with other patches.       |  Report Upstream:  N/A
     Commit:                                     |           Branch:
   Stopgaps:                                     |     Dependencies:
                                                 |  #10963
-------------------------------------------------+-------------------------
 The title says it all. See also #14652.

 The attached patch is but a proof of concept to evaluate how much we
 can hope to gain. And that's a rough 6% which is not so bad :-)

 Without patch:
 {{{
 Total time (sum over exclusive time): 2871.367ms
 Total time (sum over exclusive time): 2881.301ms
 Total time (sum over exclusive time): 2876.823ms
 Total time (sum over exclusive time): 2859.830ms
 Total time (sum over exclusive time): 2865.218ms
 Total time (sum over exclusive time): 2867.298ms
 Total time (sum over exclusive time): 2864.525ms
 Total time (sum over exclusive time): 2919.009ms
 }}}

 With patch:
 {{{
 Total time (sum over exclusive time): 2685.894ms
 Total time (sum over exclusive time): 2691.945ms
 Total time (sum over exclusive time): 2687.476ms
 Total time (sum over exclusive time): 2681.121ms
 Total time (sum over exclusive time): 2708.517ms
 Total time (sum over exclusive time): 2688.468ms
 Total time (sum over exclusive time): 2684.715ms
 }}}

 I haven't checked yet that all test pass properly, and this patch
 probably conflicts with other patches. So no rush to get it in, the
 goal is just to evaluate whether we can make up for the little startup
 time loss with #10963.

 A strange thing is that, from reading the startup report, most of the
 progress comes from lazy importing the module
 sage/combinat.abstract_tree which does not seem that particular.

 The dependency upon #10963 is probably just syntactic; it might actually
 work without it.

--
Ticket URL: <http://trac.sagemath.org/ticket/15293>
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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to