Re: testing pango with 770



On Wed, 2005-12-21 at 15:15 +0200, Tapani P�i wrote:

> Text 'abcdefghijklmnopqrstuvwxyz' is rendered to 20 rows 100 times using
> 'sans serif-18' font.
> (Each test is renderering 52000 glyphs.)

This test could be more thorough.  You aren't testing word breaking or
the non-latin shapers, for example.

Also, your test needs to run for a longer time.  Otherwise, you'll get a
lot of variation among runs.  Make it so that each run takes a few
minutes.

> -test-2--------------------------------------------------------------
> - glib  2.9.1
> - pango 1.10.2
> 
> test-pango        : Total time 6787 ms, approx 7661 glyphs per second
> test-pango-gdk    : Total time 6610 ms, approx 7866 glyphs per second
> test-pango-gtk    : Total time 6569 ms, approx 7915 glyphs per second
> test-pango-layout : Total time 8038 ms, approx 6469 glyphs per second
> test-gtk-layout   : Total time 8593 ms, approx 6051 glyphs per second
> 
> -test-3--------------------------------------------------------------
> - glib  2.9.1
> - pango 1.11.1
> 
> test-pango        : Total time 6979 ms, approx 7450 glyphs per second
> test-pango-gdk    : Total time 6899 ms, approx 7537 glyphs per second
> test-pango-gtk    : Total time 6893 ms, approx 7543 glyphs per second
> test-pango-layout : Total time 8064 ms, approx 6448 glyphs per second
> test-gtk-layout   : Total time 8423 ms, approx 6173 glyphs per second

This is interesting, since pango-1.11.1 has our recent optimizations in
it.

You mentioned that you were using gettimeofday().  Can you please test
the "pango-profile" module from CVS?  It has a slightly more
sophisticated timer, using times().  I've found it to be quite reliable,
and it gives reproducible results.

> * What is causing slowness?

Ask a profiler :)

For your test, I'd like to know the CPU usage for both Pango and the X
server.  On my machine, a "render a lot of text" benchmark spends 50% of
the time in the X server (xorg without the MMX compositing stuff), about
30% in Pango, and the rest in other processes.  Sysprof can tell you
that very nicely.

If you use the benchmark in pango-profile, beware that it just tests the
Pango machinery, not the rendering machinery.  You may want to stick a
gdk_draw_layout() in the code.

Does Sysprof run on the 770 yet?

  Federico




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]