We need to figure out why this is happening. It doesn't make any sense to
me that avoiding the evince lib import would save 13 seconds. You could
write a minimal test case, importing Gtk first, then time the Evince
import. If it takes a long time in the testcase too you could strace it to
see wtf is going on.

Local imports are a really bad idea for code maintenance.

On Friday, 8 November 2013, Gonzalo Odiard wrote:

> There are many issues in Sugar regarding performance,
> but one of the more visible to the user is how much time the activities
> take to start. This is not so evident in newer hardware,
> but is important in XO-1. Is so important than by example, Peru will use
> sugar 0.94
> instead of a newer because o this.
>
> I was doing some testing with the main activities:
>
>
> https://docs.google.com/spreadsheet/ccc?key=0As_jQJX0Me6XdDI2clFpX1FFRHhKMHVFZGkyakdST2c&usp=drive_web#gid=0
>
> (These measures were done in a XO-1)
>
> I first blamed to the port from gtk2 to gtk3 of the big regressions in
> performance,
> but after looking with a little of detail, some can be solved easily.
>
> One of the arguments of the dynamic bindings was a better startup time due
> to not need initialize all the libraries until is needed use them. Then the
> import should
> be lighter than before. Looks like that is not so true.
>
> In the case of Write activity, I was able to reduce the start up in 7 or 8
> seconds, just delaying the gstreamer initialization [1], and 1 or 2 seconds
> more delaying two other imports.
>
> In the case of Browse activity, just delaying the import of Evince
> libraries to the moment when a pdf is opened, improve the start up time in
> 13 seconds (patch attached). The start up time is even better than the
> version in 0.94
>
> I think this work of identify big libraries used only in specific moments,
> can be applied in other cases.
>
> Gonzalo
>
> [1]
> http://git.sugarlabs.org/write/mainline/commit/5dd843cf415d0c65e2927540225b0098f2b71cd0
> [2]
> http://git.sugarlabs.org/write/mainline/commit/dba223f5749f510735692a06f246acee30ab50bf
>
>

-- 
Daniel Narvaez
_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel

Reply via email to