[Sugar-devel] Performance: activities start up time

Gonzalo Odiard gonzalo at laptop.org
Fri Nov 8 18:00:45 EST 2013


Well, should be good know what is happening, but these are real timings.
I know the theory, and that probably was one of the reasons this was not
done before,
but this was what I found.

Gonzalo


On Fri, Nov 8, 2013 at 6:08 PM, Daniel Narvaez <dwnarvaez at gmail.com> wrote:

> Even more confused now...
>
> The two evince imports you are moving doesn't even cause the dynamic
> library to be loaded, so they should have absolutely no performance impact.
>
> That's the normal case in gobject-introspection, libraries are loaded
> lazily, when you try to use one of the functions.
>
> Gtk is an exception because gtk_init is called automatically on import and
> there are probably other libraries that do something similar. Though I
> verified that's not the case for Evince by looking at the smaps.
>
>
> On 8 November 2013 19:44, Gonzalo Odiard <gonzalo at laptop.org> 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
>>
>>
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>
>>
>
>
> --
> Daniel Narvaez
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20131108/f276d766/attachment.html>


More information about the Sugar-devel mailing list