Faster Launch of Activities

Tomeu Vizoso tomeu at tomeuvizoso.net
Sat Jul 19 06:10:32 EDT 2008


On Wed, Jul 16, 2008 at 11:13 AM, riccardo <riccardo.lucchese at gmail.com> wrote:
> On Tue, 2008-07-15 at 11:47 +0200, riccardo wrote:
>> On Tue, 2008-07-15 at 05:01 -0400, Greg Smith wrote:
>> > description?
>> >
>> > It would be useful to see a comparison of build 656 v 703 v 708 v
>> > latest
>> > joyride. That's a lot so just 703 (last release image) vs latest
>> > Joyride
>> > would the top priority.
>> I'm not instrumenting the code but using a stopwatch so timings are a
>> bit rough.
>>
>> The test:
>> - reboot the machine
>> - wait that jfss2_gcd_mtd0 finishes hogging the cpu
>>   (around 50 secs from when the shell is displayed)
>> - go to the listview
>> (*)
>> - for every activity (one at time), from the drop menu->start and take
>> the time until the full window redrawn
>>
>> - do it again from point (*) if you want to see the difference between
>> first startup and 'warm' startup
>>
>> I also use to gather stats with Picker while doing the test, to see
>> what processes are taking more cpu time; it also helps to catch
>> conditions where activities are fully redrawn at time x but really are
>> fully loaded at x+20sec (easy to see in etoys and browse).
>>
>> Are both first and second launch timings needed ?
>>
>> > Michael,
>> >
>> > What is the latest version of Joyride that people should be testing?
>> >
>> > I re-read your status e-mail July 12 and didn't see it in there:
>> > http://lists.laptop.org/pipermail/devel/2008-July/016457.html
>> >
>> > I didn't click on all the links so let me know if I missed it
>> > somewhere.
>
> Could anybody confirm the following points please ?
>  - builds numbers

As Greg said, comparing 703 with latest joyride may be the most
interesting thing to do.

>  - if it's ok to take those timings as explained above

What about the following:

- add logging.debug('TIME launch starts') at
activitieslist.ActivityEntry.__icon_button_release_event_cb

- add logging.debug('TIME launch finished') at activity.Activity.__canvas_map_cb

If we really want to take in account the redraw time (not sure myself
if it's worth), you could override Activity.do_expose_event() and move
the "launch finished" print after the call to the parent finishes.

Something like grep -h TIME logs/* | sort -n should give you a way to
see how much time took every launch.

Sounds good?

Tomeu



More information about the Devel mailing list