F16 slowness

Adam Williamson awilliam at redhat.com
Sat Sep 10 00:05:21 UTC 2011


On Thu, 2011-09-08 at 10:08 -0400, Adam Jackson wrote:

> I'm nearly sure it wasn't.
> 
> There have been two xserver updates between the 2011-05-11 snapshot and
> now.  In a quick review of the changes in that interval I can only find
> one change that looks even remotely like a performance improvement:
> 
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=9504caf1c3243e3ab2eb7126bc2bb876a8f89918
> 
> And even that is pretty borderline.  It inhibits the normal implicit
> draw that the server would do on exposure processing when a window has a
> particular redirection mode set by the compositor, but a) when
> composited, exposures are extremely rare, essentially only happening
> when a window transitions from unmapped to mapped; and b) background
> paints are _cheap_, usually just a solid fill of the grey from your
> theme color, but even in the worst case just a tiled pixmap blit.
> 
> If all you're looking for is a "is config A faster than config B" kind
> of measurement, then something like
> 
> % x11perf -copypixwin{10,100,500}
> 
> isn't completely misleading, although it's not uncommon for successive
> x11perf runs to vary by up to 5%, and when composited the x11perf
> benchmarks require _very_ careful understanding of just what exactly
> you're measuring and can be wildly variable even within a single run.
> 
> I realize I'm begging to get inundated with x11perf scores by even
> mentioning it.  Oh well.

So I just did this test, comparing kernel 3.0.1-3.fc16 with kernel
3.1.0-0.rc5.git0.0.fc16 . As mentioned earlier today, they both have
debugging turned on, according to the changelog: debugging was enabled
on Aug 2, 3.0.1-3's changelog goes up to Aug 9.

The results are interesting. 3.0.1-3 is faster in all three tests, but
the difference at 100x100 is *huge*. 3.1 rc5 takes around 0.16s on each
of the five runs; 3.0.1 takes around 0.023s on each of the five runs. In
other words, 3.0.1 is eight times faster than 3.1rc5 on this test.

(In fact, I just noticed the number of reps is lower for 3.1 in both the
100x100 and 500x500 tests; does this mean the gap is even wider than I
thought?)

At 10x10 and 500x500 the difference is a lot smaller, but 3.0.1 retains
the lead. There's a noticeable difference in the 'sync time adjustment'
number too, but I don't know the significance of that.

In both cases, I booted, closed all applications except for a single
gnome-terminal window+tab at the top-left of my left hand monitor, ran
the test from that terminal, and did nothing until the test was
complete. The only difference between the two test runs is which kernel
I booted to. They are booted with identical parameters:

ro root=/dev/mapper/vg_adam-lv_root rd_LVM_LV=vg_adam/lv_root
rd_LVM_LV=vg_adam/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8
SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet fbcon=rotate:3

Raw results:

3.0.1-3.fc16
------------

[adamw at adam ~]$ x11perf -copypixwin{10,100,500}
x11perf - X11 performance program, version 1.2
Fedora Project server version 11100000 on :0
from adam.localdomain
Fri Sep  9 16:56:32 2011

Sync time adjustment is 0.0842 msecs.

1600000 reps @   0.0032 msec (312000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0032 msec (309000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0032 msec (310000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0032 msec (315000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0032 msec (316000.0/sec): Copy 10x10 from pixmap to window
8000000 trep @   0.0032 msec (313000.0/sec): Copy 10x10 from pixmap to window

 240000 reps @   0.0231 msec ( 43400.0/sec): Copy 100x100 from pixmap to window
 240000 reps @   0.0232 msec ( 43200.0/sec): Copy 100x100 from pixmap to window
 240000 reps @   0.0233 msec ( 42900.0/sec): Copy 100x100 from pixmap to window
 240000 reps @   0.0233 msec ( 42900.0/sec): Copy 100x100 from pixmap to window
 240000 reps @   0.0234 msec ( 42800.0/sec): Copy 100x100 from pixmap to window
1200000 trep @   0.0232 msec ( 43000.0/sec): Copy 100x100 from pixmap to window

  36000 reps @   0.1418 msec (  7050.0/sec): Copy 500x500 from pixmap to window
  36000 reps @   0.1420 msec (  7040.0/sec): Copy 500x500 from pixmap to window
  36000 reps @   0.1426 msec (  7010.0/sec): Copy 500x500 from pixmap to window
  36000 reps @   0.1443 msec (  6930.0/sec): Copy 500x500 from pixmap to window
  36000 reps @   0.1463 msec (  6840.0/sec): Copy 500x500 from pixmap to window
 180000 trep @   0.1434 msec (  6970.0/sec): Copy 500x500 from pixmap to window

3.1.0-0.rc5.git0.0.fc16
-----------------------

[adamw at adam ~]$ x11perf -copypixwin{10,100,500}
x11perf - X11 performance program, version 1.2
Fedora Project server version 11100000 on :0
from adam.localdomain
Fri Sep  9 16:48:03 2011

Sync time adjustment is 0.2411 msecs.

1600000 reps @   0.0037 msec (270000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0038 msec (263000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0038 msec (263000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0038 msec (265000.0/sec): Copy 10x10 from pixmap to window
1600000 reps @   0.0038 msec (264000.0/sec): Copy 10x10 from pixmap to window
8000000 trep @   0.0038 msec (265000.0/sec): Copy 10x10 from pixmap to window

  32000 reps @   0.1550 msec (  6450.0/sec): Copy 100x100 from pixmap to window
  32000 reps @   0.1560 msec (  6410.0/sec): Copy 100x100 from pixmap to window
  32000 reps @   0.1576 msec (  6350.0/sec): Copy 100x100 from pixmap to window
  32000 reps @   0.1649 msec (  6070.0/sec): Copy 100x100 from pixmap to window
  32000 reps @   0.1564 msec (  6390.0/sec): Copy 100x100 from pixmap to window
 160000 trep @   0.1580 msec (  6330.0/sec): Copy 100x100 from pixmap to window

  32000 reps @   0.1687 msec (  5930.0/sec): Copy 500x500 from pixmap to window
  32000 reps @   0.1662 msec (  6020.0/sec): Copy 500x500 from pixmap to window
  32000 reps @   0.1680 msec (  5950.0/sec): Copy 500x500 from pixmap to window
  32000 reps @   0.1658 msec (  6030.0/sec): Copy 500x500 from pixmap to window
  32000 reps @   0.1674 msec (  5970.0/sec): Copy 500x500 from pixmap to window
 160000 trep @   0.1672 msec (  5980.0/sec): Copy 500x500 from pixmap to window


-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net



More information about the test mailing list