Opened 7 years ago

Last modified 6 years ago

#15293 new enhancement

Lazy import root systems, crystals and other combinatorics features to save on startup time.

Reported by: nthiery Owned by:
Priority: major Milestone: sage-6.4
Component: performance Keywords: startup
Cc: sage-combinat, SimonKing, tscrim Merged in:
Authors: Nicolas M. Thiéry Reviewers:
Report Upstream: N/A Work issues: Check that all test pass, check it does not conflict with other patches.
Branch: Commit:
Dependencies: #10963 Stopgaps:

Description

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.

Attachments (1)

trac_15293-lazy_import_combinat_stuff-nt.patch (11.5 KB) - added by nthiery 7 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 7 years ago by chapoton

  • Keywords startup added

comment:2 Changed 7 years ago by tscrim

  • Cc tscrim added

comment:3 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:4 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:5 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.