There are also quite a few notebook-related things taking up startup time, which surely is unnecessary unless -notebook is on the command line, or until the notebook() command is run?
I mostly do not use the notebook, and it looks from here as if I am wasting 2s everytime I start up: {{{ 0.310 cell (worksheet) 0.314 worksheet (sage.server.notebook.notebook) 0.317 sage.misc.functional (sage_input) 0.319 sage_input (sage.misc.all) 0.337 sage.server.notebook.notebook (notebook.all) 0.351 notebook.all (sage.server.all) 0.352 sage.server.all (sage.all) }}} I may have got this all wrong, since I only discovered the -startup option 5 minutes ago and have ignored most of its output... John Cremona On Oct 29, 10:57 pm, William Stein <wst...@gmail.com> wrote: > On Thu, Oct 29, 2009 at 3:44 PM, Robert Bradshaw > > > > <rober...@math.washington.edu> wrote: > > > On Oct 29, 2009, at 3:39 PM, William Stein wrote: > > >> On Thu, Oct 29, 2009 at 3:27 PM, Jason Grout > >> <jason-s...@creativetrax.com> wrote: > > >>> William Stein wrote: > >>>> Nothing is "forbidden" yet, but we should try not to load whatever > >>>> we > >>>> can get away with not loading in order to improve the import time. > > >>> Well, it sounds like you are forbidding matplotlib and numpy being > >>> loaded at startup, if you're making a doctest for that. > > >> Yes, I would like to propose forbidding it, unless we can't find a way > >> around it. > > > I agree. It's gotten to the point where I'll fire up sage -python or > > sage -ipython sometimes, just because starting sage takes too long if > > I just want to do something trivial. > > Right now it takes 1.874 - 2.286 seconds on my new solid-state disk > macbook air laptop to startup sage-4.2, and this is from a warm cache > (i.e., the stable state after multiple starts). The first startup > (before steady state) is about 5.5 seconds. > > On Linux with a local disk (sage.math) the startup time form me is > about 1.230 seconds. The first try had the same time as subsequent > starts, which is surprising... but I guess Linux on a box with 128GB > RAM could be very good at disk caching. > > The point is that the 2 seconds should be 0.5 seconds. > > There are many things that caused this. I'm just looking at the > output of "sage -startuptime" to see. One example: > > sage.server.all: 0.270 (sage.all) > notebook.all: 0.268 (sage.server.all) > sage.server.notebook.notebook: 0.239 (notebook.all) > css: 0.025 (sage.server.notebook.notebook) > sage.server.notebook.template: 0.025 (css) > jinja: 0.022 (sage.server.notebook.template) > jinja.environment: 0.021 (jinja) > ... > sphinx.application: 0.124 (cell) > > So... we're importing jinja and sphinx for the (old) notebook every > time Sage starts, and this takes a significant amount of time. This > is *never* used unless you actually run the notebook... in which case > it still isn't used, since the notebook runs in its own separate > process (and it's used by that process). > > The singular interface also looks like a *major* culprit: > > sage.interfaces.singular: 0.329 (sage.rings.ideal) > sage.structure.sequence: 0.000 (sage.interfaces.singular) > > Looking, I see that a *horrendously* time consuming function called > "generate_docstring_dictionary()" is called whenever the file > sage/interfaces/singular.py is imported. This is completely > pointless, and shouldn't happen until somebody actually tries to use > the singular interface. A few lines of code would immediately reduce > the startup time of Sage by nearly a half second there. > > Since this Singular issue is pretty straightforward to fix, and will > result in a huge win, I've made a > ticket:http://trac.sagemath.org/sage_trac/ticket/7351 > > -- William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---