OLPC theme benchmarked

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

OLPC theme benchmarked

Manu Cornet-2


Hi !

I have been coding a small "torture" application for GTK themes [1],
which mainly does two things: 1) crash test the engine by calling all
the GTK paint functions with unsual parameters and 2) measure the time
the theme takes to create/map/expose/resize/destroy widgets (with help
from Federico's widget profiler's infrastructure).

While fixing the OLPC theme to pass my crash test [2], I noticed that it
was quite a bit slower than I expected, so I thought that precise time
measures would be interesting. I hope this is useful, it will definitely
help me in the next few days :)


The full report is available as a spreadsheet [3]. Before writing a
short analysis, a few disclaimers:

* The main point of this benchmarking is to have a record of the current
speed (so that we can see how it evolves when some more work has been
done). The theme is a work in progress, and therefore understandably
still very slow compared to more polished ones.

* I tried my best to make the testing conditions as stable as possible:
same computer (of course), same programs running in the background,
tests performed within a small time window, etc.

* The different time measures correspond to the few important events in
a widget's life: create, map, expose, destroy. The "expose with resize"
corresponds to resizing the widget a lot of times (from a very small
size to a very big size) and measuring the expose time for each size.

* Each cell of the document is an amount of time (in seconds) averaged
from about 80 iterations of the same event, on the same type of widget.

* These are only observations, not explanations. Make the slow parts
faster will be the next job!

* Absolute time values aren't that useful, but ratios are more
interesting.


Okay, so a few observations:

* Create : ratios vary from 0.92 to 1.07, showing that create time is
pretty much the same for all themes, for each type of widget.

* Mapping a widget takes the OLPC theme about twice as much time as
Clearlooks (or HighContrast).

* Destroy is always slightly (30 %) faster on OLPC than on Clearlooks,
but slower than HighContrast (about 1.4 ratio). Destroy time are pretty
much the same between OLPC and Human (Ubuntu's theme) -- ratio ~ 1.

* Expose is a bit slower (1.9 ratio, and sometimes a little faster) with
OLPC than with Clearlooks or HighContrast, but faster than Human.

* Expose with resize is the most CPU-consuming task, and therefore
probably yields the most significant results. And the OLPC theme doesn't
do well with this one: it is from 30 to 130 times slower than Clearlooks
(50 times on average), and 35 times slower than Human.

I'll spend the next few weeks (along with the other developers of the
theme) trying to bring those numbers down while still aiming towards
Diana's great mockups :o)

Cheers,
Manu

[1]
http://wiki.laptop.org/go/GTK_for_OLPC#GTK_theme.2Fengine_torturer_and_crash_tester

[2]  See the report at
http://www.manucornet.net/pub/olpc/log_olpc_theme_torture.txt

[3] http://www.manucornet.net/pub/Themes_performance.ods

Reply | Threaded
Open this post in threaded view
|

Re: [OLPC-devel] OLPC theme benchmarked

Jim Gettys-3
Is this with Jordan's new driver?  If so, we may have run into a slow
path that might be able to be sped up....  If not, it is time to install
his driver....
                           - Jim

On Wed, 2006-08-02 at 15:21 +0200, Manu Cornet wrote:

>
> Hi !
>
> I have been coding a small "torture" application for GTK themes [1],
> which mainly does two things: 1) crash test the engine by calling all
> the GTK paint functions with unsual parameters and 2) measure the time
> the theme takes to create/map/expose/resize/destroy widgets (with help
> from Federico's widget profiler's infrastructure).
>
> While fixing the OLPC theme to pass my crash test [2], I noticed that it
> was quite a bit slower than I expected, so I thought that precise time
> measures would be interesting. I hope this is useful, it will definitely
> help me in the next few days :)
>
>
> The full report is available as a spreadsheet [3]. Before writing a
> short analysis, a few disclaimers:
>
> * The main point of this benchmarking is to have a record of the current
> speed (so that we can see how it evolves when some more work has been
> done). The theme is a work in progress, and therefore understandably
> still very slow compared to more polished ones.
>
> * I tried my best to make the testing conditions as stable as possible:
> same computer (of course), same programs running in the background,
> tests performed within a small time window, etc.
>
> * The different time measures correspond to the few important events in
> a widget's life: create, map, expose, destroy. The "expose with resize"
> corresponds to resizing the widget a lot of times (from a very small
> size to a very big size) and measuring the expose time for each size.
>
> * Each cell of the document is an amount of time (in seconds) averaged
> from about 80 iterations of the same event, on the same type of widget.
>
> * These are only observations, not explanations. Make the slow parts
> faster will be the next job!
>
> * Absolute time values aren't that useful, but ratios are more
> interesting.
>
>
> Okay, so a few observations:
>
> * Create : ratios vary from 0.92 to 1.07, showing that create time is
> pretty much the same for all themes, for each type of widget.
>
> * Mapping a widget takes the OLPC theme about twice as much time as
> Clearlooks (or HighContrast).
>
> * Destroy is always slightly (30 %) faster on OLPC than on Clearlooks,
> but slower than HighContrast (about 1.4 ratio). Destroy time are pretty
> much the same between OLPC and Human (Ubuntu's theme) -- ratio ~ 1.
>
> * Expose is a bit slower (1.9 ratio, and sometimes a little faster) with
> OLPC than with Clearlooks or HighContrast, but faster than Human.
>
> * Expose with resize is the most CPU-consuming task, and therefore
> probably yields the most significant results. And the OLPC theme doesn't
> do well with this one: it is from 30 to 130 times slower than Clearlooks
> (50 times on average), and 35 times slower than Human.
>
> I'll spend the next few weeks (along with the other developers of the
> theme) trying to bring those numbers down while still aiming towards
> Diana's great mockups :o)
>
> Cheers,
> Manu
>
> [1]
> http://wiki.laptop.org/go/GTK_for_OLPC#GTK_theme.2Fengine_torturer_and_crash_tester
>
> [2]  See the report at
> http://www.manucornet.net/pub/olpc/log_olpc_theme_torture.txt
>
> [3] http://www.manucornet.net/pub/Themes_performance.ods
>
> _______________________________________________
> Devel mailing list
> [hidden email]
> http://mailman.laptop.org/mailman/listinfo/devel
--
Jim Gettys
One Laptop Per Child


Reply | Threaded
Open this post in threaded view
|

Re: [OLPC-devel] OLPC theme benchmarked

Federico Mena Quintero-2
On Wed, 2006-08-02 at 10:51 -0400, Jim Gettys wrote:

> > I'll spend the next few weeks (along with the other developers of the
> > theme) trying to bring those numbers down while still aiming towards
> > Diana's great mockups :o)

Wow, this is *fantastic* info!

Could you run sysprof on the benchmark to see what's eating all the
time?

  Federico