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