FYI, it generates the list by inspecting sys.modules on a clean
(re)start of sage before and after the patches are applied. There's no
guerentee that it affects startup time (which is really noisy and hard
to measure), but the fact that we import thousands of modules on
startup, most of which are used by a very small subset of users, is
the biggest factor in why Sage takes so long to start up in general.

As mentioned, this is easier to see on a slower file system like nfs,
but it the aggregate effect still hurts us.

On Mon, May 13, 2013 at 10:03 AM, Ben Hutz <[email protected]> wrote:
> So is the failure pointing out an increase in start-up time? Isn't that what
> the startup_time plug-in is checking for? (which actually showed a decrease
> in start-up time for this patch)
>
> I've added lazy_imports to my todo list as a faster sage start-up would be
> nice.
>
>
> On Monday, May 13, 2013 11:37:17 AM UTC-5, Volker Braun wrote:
>>
>> Sage startup is slow (especially on high-latency file systems like NFS)
>> because thousands of individual files have to be read when the import tree
>> is evaluated starting at sage.all. Splitting up large files into multiple
>> small ones like in your patch is great for code maintainability but hurts
>> startup time. Especially if you refactor code you should switch to lazy
>> imports if possible.
>>
>>
>>
>>
>> On Monday, May 13, 2013 2:27:32 PM UTC+1, Ben Hutz wrote:
>>>
>>> I'm trying to fix a plug-in failure for #14217 and I can't seem to find
>>> any information on what the error is. Below is the diff from the plug-in.
>>> The only thing that I can see is that it is not listing
>>>
>>> projective.projective_rational_point as a new module
>>> generic.rational_points as removed
>>>
>>>
>>> and I would have expected it to since the relevant .py files have been
>>> added/removed, respectively. But since I have no idea what the failure is or
>>> how it is generating the list, I'm not sure that is relevant.
>>> If someone could point me towards information on how to determine the
>>> specific failure that would be appreciated.
>>>
>>> Thanks,
>>>   Ben
>>>
>>>
>>>
>>> ========== plugins.startup_modules ==========
>>>
>>> --- 5.10.beta2
>>>
>>> +++ 5.10.beta2 + #14217
>>>
>>>
>>> -real       0m0.671s
>>> -user       0m0.564s
>>> -sys        0m0.099s
>>> +real       0m0.743s
>>> +user       0m0.595s
>>> +sys        0m0.137s
>>>
>>> -Total count: 2609
>>> +Total count: 2624
>>>
>>> +New:
>>> +    sage.schemes.affine
>>> +    sage.schemes.affine.affine_homset
>>> +    sage.schemes.affine.affine_morphism
>>> +    sage.schemes.affine.affine_point
>>> +    sage.schemes.affine.affine_rational_point
>>> +    sage.schemes.affine.affine_space
>>> +    sage.schemes.affine.all
>>> +    sage.schemes.affine.copy
>>> +    sage.schemes.affine.sage
>>> +    sage.schemes.projective
>>> +    sage.schemes.projective.all
>>> +    sage.schemes.projective.copy
>>> +    sage.schemes.projective.projective_homset
>>> +    sage.schemes.projective.projective_morphism
>>> +    sage.schemes.projective.projective_point
>>> +    sage.schemes.projective.projective_space
>>> +    sage.schemes.projective.sage
>>> +Removed:
>>> +    sage.schemes.generic.affine_space
>>> +    sage.schemes.generic.projective_space
>>> +
>>> +====================
>>>
>>> +sage.schemes.affine
>>> +sage.schemes.affine.affine_homset
>>> +sage.schemes.affine.affine_morphism
>>> +sage.schemes.affine.affine_point
>>> +sage.schemes.affine.affine_rational_point
>>> +sage.schemes.affine.affine_space
>>> +sage.schemes.affine.all
>>> +sage.schemes.affine.copy
>>> +sage.schemes.affine.sage
>>>
>>> -sage.schemes.generic.affine_space
>>>
>>> -sage.schemes.generic.projective_space
>>>
>>> +sage.schemes.projective
>>> +sage.schemes.projective.all
>>> +sage.schemes.projective.copy
>>> +sage.schemes.projective.projective_homset
>>> +sage.schemes.projective.projective_morphism
>>> +sage.schemes.projective.projective_point
>>> +sage.schemes.projective.projective_space
>>> +sage.schemes.projective.sage
>>>
>>> -plugins.startup_modules Passed
>>> +plugins.startup_modules Failed
>>>
>>>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" 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-devel?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" 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-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to