Mailinglist Archive: radeonhd (312 mails)

< Previous Next >
[radeonhd] uber cool r6xx/r7xx improved speed patch
  • From: Conn Clark <conn.o.clark@xxxxxxxxx>
  • Date: Thu, 23 Apr 2009 11:24:37 -0700
  • Message-id: <1d724410904231124t7798ce02wde34550c800fb60@xxxxxxxxxxxxxx>
Hello everyone,

A little while back there was a discussion about another patch and
how much coding efficiency improved speed. With a little slack time at
work I decided to hot rod radeonhd's r6xx/7xx exa acceleration code
and do some tests. I don't expect this patch to be accepted because
its sloppy and it makes the code unmaintainable. The reason for doing
it was to see what some of the potential for speed improvement
actually was.

Testing was done on both the unpatched driver and the patched driver
at two different clock speeds. Each test was done by issuing the
command "x11perf -v1.3 -all " in xorgs default window manager as
root. The clock speeds for the tests were fixed at 2GHz and 500MHz and
the results are listed in results_at_2GHz_clock.txt and
results_at_500MHz_clock.txt respectively.

There were some notable gains in the move window, put image, and
circle drawing tests. There were also some slow downs for which I am
at a loss to explain as no code path was slowed down by my changes.
Most notable are the create unmapped window tests. As expected the
gains were much more noticeable at the slower clock speed.

The conclusions I have come to are the following. Gains of 5% or more
are possible in some areas. Laptop users who have their clocks
throttled back to save on power will benefit the most from coding
efficiency improvements. There is no one magic spot to make things
faster.

The patch should apply cleanly to radeonhd-1.2.5

Raw data furnished upon request.


-- Conn

Conn O. Clark

Observation: In formal computer science advances are made
by standing on the shoulders of giants. Linux has proved
that if there are enough of you, you can advance just as
far by stepping on each others toes.
1: x11perf_unpatched_fast.log
2: x11perf_patched_fast.log

1 2 Operation
-------- ----------------- -----------------
5680000.0 5770000.0 ( 1.02) Dot
5650000.0 5780000.0 ( 1.02) 1x1 rectangle
5550000.0 5650000.0 ( 1.02) 10x10 rectangle
92600.0 92600.0 ( 1.00) 100x100 rectangle
2750.0 2750.0 ( 1.00) 500x500 rectangle
2190000.0 2180000.0 ( 1.00) 1x1 stippled rectangle
152000.0 152000.0 ( 1.00) 10x10 stippled rectangle
1650.0 1650.0 ( 1.00) 100x100 stippled rectangle
66.2 66.2 ( 1.00) 500x500 stippled rectangle
2200000.0 2250000.0 ( 1.02) 1x1 opaque stippled rectangle
160000.0 160000.0 ( 1.00) 10x10 opaque stippled rectangle
2110.0 2120.0 ( 1.00) 100x100 opaque stippled rectangle
87.0 87.0 ( 1.00) 500x500 opaque stippled rectangle
3770000.0 3780000.0 ( 1.00) 1x1 4x4 tiled rectangle
16700.0 16700.0 ( 1.00) 10x10 4x4 tiled rectangle
6900.0 6900.0 ( 1.00) 100x100 4x4 tiled rectangle
1030.0 1030.0 ( 1.00) 500x500 4x4 tiled rectangle
2210000.0 2210000.0 ( 1.00) 1x1 161x145 stippled rectangle
376000.0 377000.0 ( 1.00) 10x10 161x145 stippled rectangle
5860.0 5870.0 ( 1.00) 100x100 161x145 stippled rectangle
246.0 246.0 ( 1.00) 500x500 161x145 stippled rectangle
2240000.0 2240000.0 ( 1.00) 1x1 161x145 opaque stippled rectangle
240000.0 240000.0 ( 1.00) 10x10 161x145 opaque stippled rectangle
5120.0 5130.0 ( 1.00) 100x100 161x145 opaque stippled rectangle
225.0 225.0 ( 1.00) 500x500 161x145 opaque stippled rectangle
3760000.0 3770000.0 ( 1.00) 1x1 161x145 tiled rectangle
3220000.0 3220000.0 ( 1.00) 10x10 161x145 tiled rectangle
67200.0 67200.0 ( 1.00) 100x100 161x145 tiled rectangle
1390.0 1380.0 ( 0.99) 500x500 161x145 tiled rectangle
3780000.0 3760000.0 ( 0.99) 1x1 216x208 tiled rectangle
3200000.0 3210000.0 ( 1.00) 10x10 216x208 tiled rectangle
69700.0 69700.0 ( 1.00) 100x100 216x208 tiled rectangle
1210.0 1210.0 ( 1.00) 500x500 216x208 tiled rectangle
4330000.0 4340000.0 ( 1.00) 1-pixel line segment
527000.0 527000.0 ( 1.00) 10-pixel line segment
54800.0 54900.0 ( 1.00) 100-pixel line segment
11000.0 11000.0 ( 1.00) 500-pixel line segment
58700.0 58700.0 ( 1.00) 100-pixel line segment (1 kid)
62400.0 62400.0 ( 1.00) 100-pixel line segment (2 kids)
66700.0 66700.0 ( 1.00) 100-pixel line segment (3 kids)
823000.0 823000.0 ( 1.00) 10-pixel dashed segment
84500.0 84600.0 ( 1.00) 100-pixel dashed segment
54800.0 54800.0 ( 1.00) 100-pixel double-dashed segment
7020000.0 7140000.0 ( 1.02) 10-pixel horizontal line segment
7050000.0 7200000.0 ( 1.02) 100-pixel horizontal line segment
2750000.0 2750000.0 ( 1.00) 500-pixel horizontal line segment
5250000.0 5370000.0 ( 1.02) 10-pixel vertical line segment
4380000.0 4380000.0 ( 1.00) 100-pixel vertical line segment
2710000.0 2710000.0 ( 1.00) 500-pixel vertical line segment
39000.0 39000.0 ( 1.00) 10x1 wide horizontal line segment
36400.0 36300.0 ( 1.00) 100x10 wide horizontal line segment
14600.0 14600.0 ( 1.00) 500x50 wide horizontal line segment
39000.0 39000.0 ( 1.00) 10x1 wide vertical line segment
35100.0 35000.0 ( 1.00) 100x10 wide vertical line segment
13400.0 13400.0 ( 1.00) 500x50 wide vertical line segment
5640000.0 5650000.0 ( 1.00) 1-pixel line
549000.0 549000.0 ( 1.00) 10-pixel line
55500.0 55500.0 ( 1.00) 100-pixel line
11100.0 11100.0 ( 1.00) 500-pixel line
842000.0 843000.0 ( 1.00) 10-pixel dashed line
85100.0 85100.0 ( 1.00) 100-pixel dashed line
55400.0 55400.0 ( 1.00) 100-pixel double-dashed line
78000.0 77900.0 ( 1.00) 10x1 wide line
45700.0 45700.0 ( 1.00) 100x10 wide line
14200.0 14200.0 ( 1.00) 500x50 wide line
12100.0 12100.0 ( 1.00) 100x10 wide dashed line
14600.0 14500.0 ( 0.99) 100x10 wide double-dashed line
45600.0 46500.0 ( 1.02) 10x10 rectangle outline
90000.0 90000.0 ( 1.00) 100x100 rectangle outline
46600.0 46600.0 ( 1.00) 500x500 rectangle outline
72800.0 74200.0 ( 1.02) 10x10 wide rectangle outline
260000.0 265000.0 ( 1.02) 100x100 wide rectangle outline
6260.0 6260.0 ( 1.00) 500x500 wide rectangle outline
1230000.0 1320000.0 ( 1.07) 1-pixel circle
235000.0 240000.0 ( 1.02) 10-pixel circle
46100.0 47300.0 ( 1.03) 100-pixel circle
29400.0 31500.0 ( 1.07) 500-pixel circle
7820.0 7540.0 ( 0.96) 100-pixel dashed circle
3450.0 3510.0 ( 1.02) 100-pixel double-dashed circle
114000.0 114000.0 ( 1.00) 10-pixel wide circle
49100.0 49200.0 ( 1.00) 100-pixel wide circle
9300.0 9300.0 ( 1.00) 500-pixel wide circle
5650.0 5700.0 ( 1.01) 100-pixel wide dashed circle
10400.0 10600.0 ( 1.02) 100-pixel wide double-dashed circle
300000.0 305000.0 ( 1.02) 10-pixel partial circle
64100.0 65400.0 ( 1.02) 100-pixel partial circle
50700.0 53600.0 ( 1.06) 10-pixel wide partial circle
28900.0 31000.0 ( 1.07) 100-pixel wide partial circle
43600000.0 43700000.0 ( 1.00) 1-pixel solid circle
114000.0 114000.0 ( 1.00) 10-pixel solid circle
47800.0 47900.0 ( 1.00) 100-pixel solid circle
3830.0 3840.0 ( 1.00) 500-pixel solid circle
125000.0 125000.0 ( 1.00) 10-pixel fill chord partial circle
63600.0 63800.0 ( 1.00) 100-pixel fill chord partial circle
115000.0 115000.0 ( 1.00) 10-pixel fill slice partial circle
61800.0 61900.0 ( 1.00) 100-pixel fill slice partial circle
346000.0 356000.0 ( 1.03) 10-pixel ellipse
14500.0 14600.0 ( 1.01) 100-pixel ellipse
2500.0 2490.0 ( 1.00) 500-pixel ellipse
8800.0 8820.0 ( 1.00) 100-pixel dashed ellipse
5320.0 5090.0 ( 0.96) 100-pixel double-dashed ellipse
114000.0 114000.0 ( 1.00) 10-pixel wide ellipse
59000.0 59200.0 ( 1.00) 100-pixel wide ellipse
11200.0 11200.0 ( 1.00) 500-pixel wide ellipse
6430.0 6750.0 ( 1.05) 100-pixel wide dashed ellipse
9560.0 9850.0 ( 1.03) 100-pixel wide double-dashed ellipse
316000.0 320000.0 ( 1.01) 10-pixel partial ellipse
26500.0 26600.0 ( 1.00) 100-pixel partial ellipse
52200.0 54700.0 ( 1.05) 10-pixel wide partial ellipse
19300.0 20100.0 ( 1.04) 100-pixel wide partial ellipse
115000.0 115000.0 ( 1.00) 10-pixel filled ellipse
64900.0 64900.0 ( 1.00) 100-pixel filled ellipse
7260.0 7260.0 ( 1.00) 500-pixel filled ellipse
140000.0 140000.0 ( 1.00) 10-pixel fill chord partial ellipse
89300.0 89300.0 ( 1.00) 100-pixel fill chord partial ellipse
126000.0 126000.0 ( 1.00) 10-pixel fill slice partial ellipse
85900.0 85900.0 ( 1.00) 100-pixel fill slice partial ellipse
128000.0 128000.0 ( 1.00) Fill 1x1 equivalent triangle
113000.0 113000.0 ( 1.00) Fill 10x10 equivalent triangle
40000.0 39900.0 ( 1.00) Fill 100x100 equivalent triangle
114000.0 114000.0 ( 1.00) Fill 10x10 trapezoid
42400.0 42300.0 ( 1.00) Fill 100x100 trapezoid
91300.0 89100.0 ( 0.98) Fill 10x10 stippled trapezoid
2390.0 2380.0 ( 1.00) Fill 100x100 stippled trapezoid
105000.0 103000.0 ( 0.98) Fill 10x10 opaque stippled trapezoid
3990.0 3960.0 ( 0.99) Fill 100x100 opaque stippled trapezoid
124000.0 124000.0 ( 1.00) Fill 10x10 tiled trapezoid
5380.0 5370.0 ( 1.00) Fill 100x100 tiled trapezoid
128000.0 124000.0 ( 0.97) Fill 10x10 161x145 stippled trapezoid
5350.0 5280.0 ( 0.99) Fill 100x100 161x145 stippled trapezoid
120000.0 119000.0 ( 0.99) Fill 10x10 161x145 opaque stippled trapezoid
5390.0 5380.0 ( 1.00) Fill 100x100 161x145 opaque stippled trapezoid
131000.0 130000.0 ( 0.99) Fill 10x10 161x145 tiled trapezoid
5370.0 5360.0 ( 1.00) Fill 100x100 161x145 tiled trapezoid
130000.0 129000.0 ( 0.99) Fill 10x10 216x208 tiled trapezoid
5380.0 5360.0 ( 1.00) Fill 100x100 216x208 tiled trapezoid
112000.0 112000.0 ( 1.00) Fill 10x10 equivalent complex polygon
35600.0 35600.0 ( 1.00) Fill 100x100 equivalent complex polygons
448000.0 447000.0 ( 1.00) Char in 80-char line (6x13)
509000.0 509000.0 ( 1.00) Char in 70-char line (8x13)
361000.0 362000.0 ( 1.00) Char in 60-char line (9x15)
150000.0 151000.0 ( 1.01) Char16 in 40-char line (k14)
64500.0 64600.0 ( 1.00) Char16 in 23-char line (k24)
551000.0 551000.0 ( 1.00) Char in 80-char line (TR 10)
177000.0 178000.0 ( 1.01) Char in 30-char line (TR 24)
478000.0 479000.0 ( 1.00) Char in 20/40/20 line (6x13, TR 10)
80900.0 81000.0 ( 1.00) Char16 in 7/14/7 line (k14, k24)
285000.0 285000.0 ( 1.00) Char in 80-char image line (6x13)
273000.0 273000.0 ( 1.00) Char in 70-char image line (8x13)
201000.0 201000.0 ( 1.00) Char in 60-char image line (9x15)
102000.0 102000.0 ( 1.00) Char16 in 40-char image line (k14)
40400.0 40400.0 ( 1.00) Char16 in 23-char image line (k24)
350000.0 350000.0 ( 1.00) Char in 80-char image line (TR 10)
91200.0 91200.0 ( 1.00) Char in 30-char image line (TR 24)
98100.0 98100.0 ( 1.00) Scroll 10x10 pixels
17000.0 17000.0 ( 1.00) Scroll 100x100 pixels
1060.0 1060.0 ( 1.00) Scroll 500x500 pixels
98200.0 98200.0 ( 1.00) Copy 10x10 from window to window
31200.0 31200.0 ( 1.00) Copy 100x100 from window to window
1060.0 1060.0 ( 1.00) Copy 500x500 from window to window
98200.0 98200.0 ( 1.00) Copy 10x10 from pixmap to window
34000.0 34000.0 ( 1.00) Copy 100x100 from pixmap to window
2150.0 2150.0 ( 1.00) Copy 500x500 from pixmap to window
98200.0 98200.0 ( 1.00) Copy 10x10 from window to pixmap
34300.0 34300.0 ( 1.00) Copy 100x100 from window to pixmap
2170.0 2170.0 ( 1.00) Copy 500x500 from window to pixmap
98300.0 98200.0 ( 1.00) Copy 10x10 from pixmap to pixmap
32000.0 32000.0 ( 1.00) Copy 100x100 from pixmap to pixmap
1120.0 1120.0 ( 1.00) Copy 500x500 from pixmap to pixmap
157000.0 159000.0 ( 1.01) Copy 10x10 1-bit deep plane
5390.0 5410.0 ( 1.00) Copy 100x100 1-bit deep plane
242.0 243.0 ( 1.00) Copy 500x500 1-bit deep plane
93800.0 94300.0 ( 1.01) PutImage 10x10 square
7900.0 8260.0 ( 1.05) PutImage 100x100 square
218.0 223.0 ( 1.02) PutImage 500x500 square
132000.0 134000.0 ( 1.02) ShmPutImage 10x10 square
5290.0 5310.0 ( 1.00) ShmPutImage 100x100 square
239.0 240.0 ( 1.00) ShmPutImage 500x500 square
9490.0 9990.0 ( 1.05) GetImage 10x10 square
6480.0 6550.0 ( 1.01) GetImage 100x100 square
333.0 337.0 ( 1.01) GetImage 500x500 square
12800000.0 12700000.0 ( 0.99) X protocol NoOperation
6230000.0 6360000.0 ( 1.02) GetAtomName
28900.0 30100.0 ( 1.04) GetProperty
116000.0 116000.0 ( 1.00) Change graphics context
92800.0 99200.0 ( 1.07) Create and map subwindows (4 kids)
107000.0 113000.0 ( 1.06) Create and map subwindows (16 kids)
106000.0 113000.0 ( 1.07) Create and map subwindows (25 kids)
106000.0 112000.0 ( 1.06) Create and map subwindows (50 kids)
110000.0 113000.0 ( 1.03) Create and map subwindows (75 kids)
109000.0 109000.0 ( 1.00) Create and map subwindows (100 kids)
93700.0 93700.0 ( 1.00) Create and map subwindows (200 kids)
461000.0 449000.0 ( 0.97) Create unmapped window (4 kids)
528000.0 521000.0 ( 0.99) Create unmapped window (16 kids)
533000.0 490000.0 ( 0.92) Create unmapped window (25 kids)
502000.0 484000.0 ( 0.96) Create unmapped window (50 kids)
260000.0 489000.0 ( 1.88) Create unmapped window (75 kids)
492000.0 478000.0 ( 0.97) Create unmapped window (100 kids)
496000.0 486000.0 ( 0.98) Create unmapped window (200 kids)
89500.0 89600.0 ( 1.00) Map window via parent (4 kids)
105000.0 105000.0 ( 1.00) Map window via parent (16 kids)
107000.0 107000.0 ( 1.00) Map window via parent (25 kids)
109000.0 109000.0 ( 1.00) Map window via parent (50 kids)
109000.0 110000.0 ( 1.01) Map window via parent (75 kids)
110000.0 110000.0 ( 1.00) Map window via parent (100 kids)
109000.0 109000.0 ( 1.00) Map window via parent (200 kids)
321000.0 343000.0 ( 1.07) Unmap window via parent (4 kids)
824000.0 850000.0 ( 1.03) Unmap window via parent (16 kids)
1010000.0 908000.0 ( 0.90) Unmap window via parent (25 kids)
1130000.0 1140000.0 ( 1.01) Unmap window via parent (50 kids)
1340000.0 1350000.0 ( 1.01) Unmap window via parent (75 kids)
1380000.0 1360000.0 ( 0.99) Unmap window via parent (100 kids)
1390000.0 1370000.0 ( 0.99) Unmap window via parent (200 kids)
162000.0 172000.0 ( 1.06) Destroy window via parent (4 kids)
277000.0 296000.0 ( 1.07) Destroy window via parent (16 kids)
281000.0 325000.0 ( 1.16) Destroy window via parent (25 kids)
302000.0 337000.0 ( 1.12) Destroy window via parent (50 kids)
355000.0 356000.0 ( 1.00) Destroy window via parent (75 kids)
340000.0 367000.0 ( 1.08) Destroy window via parent (100 kids)
368000.0 353000.0 ( 0.96) Destroy window via parent (200 kids)
68300.0 73000.0 ( 1.07) Hide/expose window via popup (4 kids)
97400.0 97600.0 ( 1.00) Hide/expose window via popup (16 kids)
101000.0 102000.0 ( 1.01) Hide/expose window via popup (25 kids)
105000.0 105000.0 ( 1.00) Hide/expose window via popup (50 kids)
106000.0 107000.0 ( 1.01) Hide/expose window via popup (75 kids)
107000.0 107000.0 ( 1.00) Hide/expose window via popup (100 kids)
106000.0 107000.0 ( 1.01) Hide/expose window via popup (200 kids)
34800.0 34800.0 ( 1.00) Move window (4 kids)
34300.0 34800.0 ( 1.01) Move window (16 kids)
33200.0 34900.0 ( 1.05) Move window (25 kids)
29800.0 34100.0 ( 1.14) Move window (50 kids)
27400.0 30400.0 ( 1.11) Move window (75 kids)
25400.0 28200.0 ( 1.11) Move window (100 kids)
19300.0 20900.0 ( 1.08) Move window (200 kids)
1950000.0 2030000.0 ( 1.04) Moved unmapped window (4 kids)
1980000.0 1970000.0 ( 0.99) Moved unmapped window (16 kids)
1950000.0 2080000.0 ( 1.07) Moved unmapped window (25 kids)
1970000.0 2030000.0 ( 1.03) Moved unmapped window (50 kids)
1940000.0 2060000.0 ( 1.06) Moved unmapped window (75 kids)
1940000.0 2030000.0 ( 1.05) Moved unmapped window (100 kids)
1860000.0 1970000.0 ( 1.06) Moved unmapped window (200 kids)
131000.0 131000.0 ( 1.00) Move window via parent (4 kids)
422000.0 424000.0 ( 1.00) Move window via parent (16 kids)
571000.0 576000.0 ( 1.01) Move window via parent (25 kids)
814000.0 872000.0 ( 1.07) Move window via parent (50 kids)
949000.0 1010000.0 ( 1.06) Move window via parent (75 kids)
1030000.0 1070000.0 ( 1.04) Move window via parent (100 kids)
1090000.0 1190000.0 ( 1.09) Move window via parent (200 kids)
48700.0 52600.0 ( 1.08) Resize window (4 kids)
46100.0 49300.0 ( 1.07) Resize window (16 kids)
44000.0 47500.0 ( 1.08) Resize window (25 kids)
39800.0 42500.0 ( 1.07) Resize window (50 kids)
35900.0 38300.0 ( 1.07) Resize window (75 kids)
33900.0 35500.0 ( 1.05) Resize window (100 kids)
25100.0 26400.0 ( 1.05) Resize window (200 kids)
1690000.0 1790000.0 ( 1.06) Resize unmapped window (4 kids)
1710000.0 1810000.0 ( 1.06) Resize unmapped window (16 kids)
1710000.0 1800000.0 ( 1.05) Resize unmapped window (25 kids)
1700000.0 1770000.0 ( 1.04) Resize unmapped window (50 kids)
1690000.0 1780000.0 ( 1.05) Resize unmapped window (75 kids)
1670000.0 1770000.0 ( 1.06) Resize unmapped window (100 kids)
1640000.0 1720000.0 ( 1.05) Resize unmapped window (200 kids)
50000.0 53000.0 ( 1.06) Circulate window (4 kids)
38700.0 40800.0 ( 1.05) Circulate window (16 kids)
38300.0 39200.0 ( 1.02) Circulate window (25 kids)
36000.0 37500.0 ( 1.04) Circulate window (50 kids)
34500.0 35700.0 ( 1.03) Circulate window (75 kids)
33200.0 34700.0 ( 1.05) Circulate window (100 kids)
27700.0 28400.0 ( 1.03) Circulate window (200 kids)
5740000.0 5770000.0 ( 1.01) Circulate Unmapped window (4 kids)
4440000.0 4150000.0 ( 0.93) Circulate Unmapped window (16 kids)
3600000.0 3510000.0 ( 0.97) Circulate Unmapped window (25 kids)
2980000.0 2910000.0 ( 0.98) Circulate Unmapped window (50 kids)
2390000.0 2300000.0 ( 0.96) Circulate Unmapped window (75 kids)
1860000.0 1790000.0 ( 0.96) Circulate Unmapped window (100 kids)
919000.0 889000.0 ( 0.97) Circulate Unmapped window (200 kids)
1: x11perf_unpatched_slow.log
2: x11perf_patched_slow.log

1 2 Operation
-------- ----------------- -----------------
1440000.0 1440000.0 ( 1.00) Dot
1460000.0 1460000.0 ( 1.00) 1x1 rectangle
1450000.0 1460000.0 ( 1.01) 10x10 rectangle
92600.0 92600.0 ( 1.00) 100x100 rectangle
2750.0 2750.0 ( 1.00) 500x500 rectangle
548000.0 552000.0 ( 1.01) 1x1 stippled rectangle
94200.0 94600.0 ( 1.00) 10x10 stippled rectangle
1320.0 1320.0 ( 1.00) 100x100 stippled rectangle
53.6 53.7 ( 1.00) 500x500 stippled rectangle
551000.0 573000.0 ( 1.04) 1x1 opaque stippled rectangle
108000.0 109000.0 ( 1.01) 10x10 opaque stippled rectangle
1770.0 1770.0 ( 1.00) 100x100 opaque stippled rectangle
73.8 73.9 ( 1.00) 500x500 opaque stippled rectangle
981000.0 976000.0 ( 0.99) 1x1 4x4 tiled rectangle
15300.0 16400.0 ( 1.07) 10x10 4x4 tiled rectangle
6890.0 6920.0 ( 1.00) 100x100 4x4 tiled rectangle
1030.0 1030.0 ( 1.00) 500x500 4x4 tiled rectangle
552000.0 566000.0 ( 1.03) 1x1 161x145 stippled rectangle
188000.0 190000.0 ( 1.01) 10x10 161x145 stippled rectangle
3810.0 3820.0 ( 1.00) 100x100 161x145 stippled rectangle
170.0 170.0 ( 1.00) 500x500 161x145 stippled rectangle
550000.0 567000.0 ( 1.03) 1x1 161x145 opaque stippled rectangle
168000.0 168000.0 ( 1.00) 10x10 161x145 opaque stippled rectangle
4550.0 4560.0 ( 1.00) 100x100 161x145 opaque stippled rectangle
200.0 200.0 ( 1.00) 500x500 161x145 opaque stippled rectangle
973000.0 974000.0 ( 1.00) 1x1 161x145 tiled rectangle
935000.0 936000.0 ( 1.00) 10x10 161x145 tiled rectangle
67100.0 67300.0 ( 1.00) 100x100 161x145 tiled rectangle
1380.0 1390.0 ( 1.01) 500x500 161x145 tiled rectangle
975000.0 974000.0 ( 1.00) 1x1 216x208 tiled rectangle
954000.0 952000.0 ( 1.00) 10x10 216x208 tiled rectangle
69600.0 69800.0 ( 1.00) 100x100 216x208 tiled rectangle
1210.0 1210.0 ( 1.00) 500x500 216x208 tiled rectangle
3260000.0 3270000.0 ( 1.00) 1-pixel line segment
473000.0 475000.0 ( 1.00) 10-pixel line segment
50500.0 50600.0 ( 1.00) 100-pixel line segment
10100.0 10200.0 ( 1.01) 500-pixel line segment
52300.0 52500.0 ( 1.00) 100-pixel line segment (1 kid)
54700.0 54900.0 ( 1.00) 100-pixel line segment (2 kids)
57100.0 57400.0 ( 1.01) 100-pixel line segment (3 kids)
632000.0 627000.0 ( 0.99) 10-pixel dashed segment
76300.0 76900.0 ( 1.01) 100-pixel dashed segment
49500.0 49700.0 ( 1.00) 100-pixel double-dashed segment
1760000.0 1770000.0 ( 1.01) 10-pixel horizontal line segment
1780000.0 1790000.0 ( 1.01) 100-pixel horizontal line segment
2740000.0 2740000.0 ( 1.00) 500-pixel horizontal line segment
1360000.0 1370000.0 ( 1.01) 10-pixel vertical line segment
1700000.0 1720000.0 ( 1.01) 100-pixel vertical line segment
2680000.0 2700000.0 ( 1.01) 500-pixel vertical line segment
21100.0 24500.0 ( 1.16) 10x1 wide horizontal line segment
20200.0 23300.0 ( 1.15) 100x10 wide horizontal line segment
14500.0 14500.0 ( 1.00) 500x50 wide horizontal line segment
21100.0 24500.0 ( 1.16) 10x1 wide vertical line segment
20200.0 23300.0 ( 1.15) 100x10 wide vertical line segment
13300.0 13300.0 ( 1.00) 500x50 wide vertical line segment
4410000.0 4430000.0 ( 1.00) 1-pixel line
494000.0 496000.0 ( 1.00) 10-pixel line
51000.0 51200.0 ( 1.00) 100-pixel line
10200.0 10200.0 ( 1.00) 500-pixel line
612000.0 628000.0 ( 1.03) 10-pixel dashed line
76400.0 77100.0 ( 1.01) 100-pixel dashed line
49900.0 50200.0 ( 1.01) 100-pixel double-dashed line
38500.0 42800.0 ( 1.11) 10x1 wide line
20100.0 21700.0 ( 1.08) 100x10 wide line
8580.0 8870.0 ( 1.03) 500x50 wide line
5680.0 6300.0 ( 1.11) 100x10 wide dashed line
5610.0 5960.0 ( 1.06) 100x10 wide double-dashed line
13800.0 14500.0 ( 1.05) 10x10 rectangle outline
30200.0 33500.0 ( 1.11) 100x100 rectangle outline
32500.0 36200.0 ( 1.11) 500x500 rectangle outline
18100.0 18500.0 ( 1.02) 10x10 wide rectangle outline
63700.0 66200.0 ( 1.04) 100x100 wide rectangle outline
6240.0 6250.0 ( 1.00) 500x500 wide rectangle outline
306000.0 327000.0 ( 1.07) 1-pixel circle
60900.0 65300.0 ( 1.07) 10-pixel circle
11400.0 11800.0 ( 1.04) 100-pixel circle
7400.0 7870.0 ( 1.06) 500-pixel circle
2050.0 2090.0 ( 1.02) 100-pixel dashed circle
951.0 906.0 ( 0.95) 100-pixel double-dashed circle
54500.0 61600.0 ( 1.13) 10-pixel wide circle
20800.0 21500.0 ( 1.03) 100-pixel wide circle
5550.0 5650.0 ( 1.02) 500-pixel wide circle
1560.0 1660.0 ( 1.06) 100-pixel wide dashed circle
2640.0 2690.0 ( 1.02) 100-pixel wide double-dashed circle
76100.0 77300.0 ( 1.02) 10-pixel partial circle
16100.0 16400.0 ( 1.02) 100-pixel partial circle
13700.0 14800.0 ( 1.08) 10-pixel wide partial circle
7850.0 8340.0 ( 1.06) 100-pixel wide partial circle
10800000.0 10900000.0 ( 1.01) 1-pixel solid circle
58900.0 68600.0 ( 1.16) 10-pixel solid circle
30300.0 31700.0 ( 1.05) 100-pixel solid circle
3830.0 3830.0 ( 1.00) 500-pixel solid circle
54200.0 60800.0 ( 1.12) 10-pixel fill chord partial circle
29200.0 30100.0 ( 1.03) 100-pixel fill chord partial circle
52900.0 59400.0 ( 1.12) 10-pixel fill slice partial circle
27400.0 28200.0 ( 1.03) 100-pixel fill slice partial circle
88500.0 90100.0 ( 1.02) 10-pixel ellipse
3670.0 3680.0 ( 1.00) 100-pixel ellipse
678.0 680.0 ( 1.00) 500-pixel ellipse
2230.0 2220.0 ( 1.00) 100-pixel dashed ellipse
1390.0 1270.0 ( 0.91) 100-pixel double-dashed ellipse
55900.0 64000.0 ( 1.14) 10-pixel wide ellipse
25400.0 27000.0 ( 1.06) 100-pixel wide ellipse
7470.0 7630.0 ( 1.02) 500-pixel wide ellipse
1730.0 1800.0 ( 1.04) 100-pixel wide dashed ellipse
2460.0 2450.0 ( 1.00) 100-pixel wide double-dashed ellipse
79000.0 80900.0 ( 1.02) 10-pixel partial ellipse
6680.0 6690.0 ( 1.00) 100-pixel partial ellipse
14000.0 15200.0 ( 1.09) 10-pixel wide partial ellipse
5050.0 5250.0 ( 1.04) 100-pixel wide partial ellipse
59900.0 70700.0 ( 1.18) 10-pixel filled ellipse
34900.0 37200.0 ( 1.07) 100-pixel filled ellipse
7240.0 7240.0 ( 1.00) 500-pixel filled ellipse
55800.0 62900.0 ( 1.13) 10-pixel fill chord partial ellipse
35300.0 37100.0 ( 1.05) 100-pixel fill chord partial ellipse
54700.0 61700.0 ( 1.13) 10-pixel fill slice partial ellipse
33900.0 35400.0 ( 1.04) 100-pixel fill slice partial ellipse
50100.0 53700.0 ( 1.07) Fill 1x1 equivalent triangle
44400.0 47100.0 ( 1.06) Fill 10x10 equivalent triangle
20800.0 21700.0 ( 1.04) Fill 100x100 equivalent triangle
45500.0 48700.0 ( 1.07) Fill 10x10 trapezoid
25400.0 27200.0 ( 1.07) Fill 100x100 trapezoid
26600.0 26700.0 ( 1.00) Fill 10x10 stippled trapezoid
751.0 751.0 ( 1.00) Fill 100x100 stippled trapezoid
29000.0 29400.0 ( 1.01) Fill 10x10 opaque stippled trapezoid
996.0 1000.0 ( 1.00) Fill 100x100 opaque stippled trapezoid
37800.0 38300.0 ( 1.01) Fill 10x10 tiled trapezoid
2040.0 2040.0 ( 1.00) Fill 100x100 tiled trapezoid
34800.0 35300.0 ( 1.01) Fill 10x10 161x145 stippled trapezoid
2350.0 2350.0 ( 1.00) Fill 100x100 161x145 stippled trapezoid
35800.0 36400.0 ( 1.02) Fill 10x10 161x145 opaque stippled trapezoid
3010.0 3010.0 ( 1.00) Fill 100x100 161x145 opaque stippled trapezoid
42900.0 43300.0 ( 1.01) Fill 10x10 161x145 tiled trapezoid
4450.0 4450.0 ( 1.00) Fill 100x100 161x145 tiled trapezoid
42200.0 42900.0 ( 1.02) Fill 10x10 216x208 tiled trapezoid
4470.0 4470.0 ( 1.00) Fill 100x100 216x208 tiled trapezoid
38700.0 40900.0 ( 1.06) Fill 10x10 equivalent complex polygon
13200.0 13700.0 ( 1.04) Fill 100x100 equivalent complex polygons
382000.0 385000.0 ( 1.01) Char in 80-char line (6x13)
413000.0 421000.0 ( 1.02) Char in 70-char line (8x13)
305000.0 310000.0 ( 1.02) Char in 60-char line (9x15)
132000.0 133000.0 ( 1.01) Char16 in 40-char line (k14)
57100.0 57400.0 ( 1.01) Char16 in 23-char line (k24)
459000.0 466000.0 ( 1.02) Char in 80-char line (TR 10)
153000.0 155000.0 ( 1.01) Char in 30-char line (TR 24)
367000.0 373000.0 ( 1.02) Char in 20/40/20 line (6x13, TR 10)
68400.0 69100.0 ( 1.01) Char16 in 7/14/7 line (k14, k24)
249000.0 250000.0 ( 1.00) Char in 80-char image line (6x13)
235000.0 236000.0 ( 1.00) Char in 70-char image line (8x13)
175000.0 176000.0 ( 1.01) Char in 60-char image line (9x15)
90100.0 90300.0 ( 1.00) Char16 in 40-char image line (k14)
35800.0 35900.0 ( 1.00) Char16 in 23-char image line (k24)
303000.0 304000.0 ( 1.00) Char in 80-char image line (TR 10)
80300.0 80600.0 ( 1.00) Char in 30-char image line (TR 24)
33200.0 40100.0 ( 1.21) Scroll 10x10 pixels
17000.0 17000.0 ( 1.00) Scroll 100x100 pixels
1060.0 1060.0 ( 1.00) Scroll 500x500 pixels
33000.0 40100.0 ( 1.22) Copy 10x10 from window to window
31000.0 31200.0 ( 1.01) Copy 100x100 from window to window
1060.0 1060.0 ( 1.00) Copy 500x500 from window to window
35800.0 44100.0 ( 1.23) Copy 10x10 from pixmap to window
33900.0 34000.0 ( 1.00) Copy 100x100 from pixmap to window
2150.0 2160.0 ( 1.00) Copy 500x500 from pixmap to window
33600.0 41000.0 ( 1.22) Copy 10x10 from window to pixmap
33300.0 34300.0 ( 1.03) Copy 100x100 from window to pixmap
2170.0 2170.0 ( 1.00) Copy 500x500 from window to pixmap
30700.0 36200.0 ( 1.18) Copy 10x10 from pixmap to pixmap
29700.0 32000.0 ( 1.08) Copy 100x100 from pixmap to pixmap
1120.0 1120.0 ( 1.00) Copy 500x500 from pixmap to pixmap
65100.0 68300.0 ( 1.05) Copy 10x10 1-bit deep plane
4630.0 4650.0 ( 1.00) Copy 100x100 1-bit deep plane
215.0 215.0 ( 1.00) Copy 500x500 1-bit deep plane
33400.0 40200.0 ( 1.20) PutImage 10x10 square
2720.0 2830.0 ( 1.04) PutImage 100x100 square
87.9 89.4 ( 1.02) PutImage 500x500 square
50200.0 51500.0 ( 1.03) ShmPutImage 10x10 square
4440.0 4450.0 ( 1.00) ShmPutImage 100x100 square
210.0 211.0 ( 1.00) ShmPutImage 500x500 square
3290.0 3430.0 ( 1.04) GetImage 10x10 square
2540.0 2570.0 ( 1.01) GetImage 100x100 square
130.0 133.0 ( 1.02) GetImage 500x500 square
3220000.0 3160000.0 ( 0.98) X protocol NoOperation
1580000.0 1560000.0 ( 0.99) GetAtomName
8890.0 8770.0 ( 0.99) GetProperty
40700.0 44100.0 ( 1.08) Change graphics context
26300.0 27800.0 ( 1.06) Create and map subwindows (4 kids)
29900.0 30800.0 ( 1.03) Create and map subwindows (16 kids)
30200.0 31200.0 ( 1.03) Create and map subwindows (25 kids)
30000.0 31300.0 ( 1.04) Create and map subwindows (50 kids)
30400.0 31800.0 ( 1.05) Create and map subwindows (75 kids)
30400.0 31600.0 ( 1.04) Create and map subwindows (100 kids)
29600.0 30700.0 ( 1.04) Create and map subwindows (200 kids)
134000.0 130000.0 ( 0.97) Create unmapped window (4 kids)
146000.0 137000.0 ( 0.94) Create unmapped window (16 kids)
144000.0 135000.0 ( 0.94) Create unmapped window (25 kids)
142000.0 137000.0 ( 0.96) Create unmapped window (50 kids)
142000.0 136000.0 ( 0.96) Create unmapped window (75 kids)
142000.0 136000.0 ( 0.96) Create unmapped window (100 kids)
142000.0 138000.0 ( 0.97) Create unmapped window (200 kids)
26600.0 28500.0 ( 1.07) Map window via parent (4 kids)
35800.0 38500.0 ( 1.08) Map window via parent (16 kids)
36900.0 39300.0 ( 1.07) Map window via parent (25 kids)
37900.0 40300.0 ( 1.06) Map window via parent (50 kids)
38200.0 40700.0 ( 1.07) Map window via parent (75 kids)
38600.0 41100.0 ( 1.06) Map window via parent (100 kids)
38500.0 41000.0 ( 1.06) Map window via parent (200 kids)
99000.0 106000.0 ( 1.07) Unmap window via parent (4 kids)
261000.0 271000.0 ( 1.04) Unmap window via parent (16 kids)
304000.0 335000.0 ( 1.10) Unmap window via parent (25 kids)
386000.0 391000.0 ( 1.01) Unmap window via parent (50 kids)
446000.0 451000.0 ( 1.01) Unmap window via parent (75 kids)
464000.0 469000.0 ( 1.01) Unmap window via parent (100 kids)
487000.0 492000.0 ( 1.01) Unmap window via parent (200 kids)
47900.0 46000.0 ( 0.96) Destroy window via parent (4 kids)
83300.0 85500.0 ( 1.03) Destroy window via parent (16 kids)
90000.0 90200.0 ( 1.00) Destroy window via parent (25 kids)
97300.0 98200.0 ( 1.01) Destroy window via parent (50 kids)
101000.0 97600.0 ( 0.97) Destroy window via parent (75 kids)
103000.0 99200.0 ( 0.96) Destroy window via parent (100 kids)
106000.0 102000.0 ( 0.96) Destroy window via parent (200 kids)
18500.0 19400.0 ( 1.05) Hide/expose window via popup (4 kids)
29600.0 31500.0 ( 1.06) Hide/expose window via popup (16 kids)
31900.0 33700.0 ( 1.06) Hide/expose window via popup (25 kids)
33500.0 35700.0 ( 1.07) Hide/expose window via popup (50 kids)
34200.0 36000.0 ( 1.05) Hide/expose window via popup (75 kids)
34700.0 36400.0 ( 1.05) Hide/expose window via popup (100 kids)
34800.0 36500.0 ( 1.05) Hide/expose window via popup (200 kids)
9970.0 11700.0 ( 1.17) Move window (4 kids)
9120.0 10600.0 ( 1.16) Move window (16 kids)
8750.0 10100.0 ( 1.15) Move window (25 kids)
7840.0 8950.0 ( 1.14) Move window (50 kids)
7220.0 8130.0 ( 1.13) Move window (75 kids)
6640.0 7430.0 ( 1.12) Move window (100 kids)
4910.0 5310.0 ( 1.08) Move window (200 kids)
488000.0 481000.0 ( 0.99) Moved unmapped window (4 kids)
495000.0 489000.0 ( 0.99) Moved unmapped window (16 kids)
489000.0 485000.0 ( 0.99) Moved unmapped window (25 kids)
477000.0 486000.0 ( 1.02) Moved unmapped window (50 kids)
474000.0 485000.0 ( 1.02) Moved unmapped window (75 kids)
475000.0 478000.0 ( 1.01) Moved unmapped window (100 kids)
462000.0 469000.0 ( 1.02) Moved unmapped window (200 kids)
37400.0 43300.0 ( 1.16) Move window via parent (4 kids)
114000.0 127000.0 ( 1.11) Move window via parent (16 kids)
148000.0 163000.0 ( 1.10) Move window via parent (25 kids)
207000.0 222000.0 ( 1.07) Move window via parent (50 kids)
236000.0 256000.0 ( 1.08) Move window via parent (75 kids)
258000.0 272000.0 ( 1.05) Move window via parent (100 kids)
283000.0 284000.0 ( 1.00) Move window via parent (200 kids)
13100.0 14000.0 ( 1.07) Resize window (4 kids)
12300.0 13000.0 ( 1.06) Resize window (16 kids)
11800.0 12500.0 ( 1.06) Resize window (25 kids)
10500.0 11000.0 ( 1.05) Resize window (50 kids)
9560.0 9940.0 ( 1.04) Resize window (75 kids)
8820.0 9320.0 ( 1.06) Resize window (100 kids)
6590.0 6740.0 ( 1.02) Resize window (200 kids)
436000.0 437000.0 ( 1.00) Resize unmapped window (4 kids)
436000.0 433000.0 ( 0.99) Resize unmapped window (16 kids)
437000.0 431000.0 ( 0.99) Resize unmapped window (25 kids)
433000.0 431000.0 ( 1.00) Resize unmapped window (50 kids)
420000.0 426000.0 ( 1.01) Resize unmapped window (75 kids)
429000.0 425000.0 ( 0.99) Resize unmapped window (100 kids)
421000.0 416000.0 ( 0.99) Resize unmapped window (200 kids)
12800.0 13900.0 ( 1.09) Circulate window (4 kids)
9800.0 10500.0 ( 1.07) Circulate window (16 kids)
9550.0 10000.0 ( 1.05) Circulate window (25 kids)
9100.0 9620.0 ( 1.06) Circulate window (50 kids)
8740.0 9200.0 ( 1.05) Circulate window (75 kids)
8380.0 8840.0 ( 1.05) Circulate window (100 kids)
7100.0 7280.0 ( 1.03) Circulate window (200 kids)
1320000.0 1440000.0 ( 1.09) Circulate Unmapped window (4 kids)
896000.0 1200000.0 ( 1.34) Circulate Unmapped window (16 kids)
744000.0 1080000.0 ( 1.45) Circulate Unmapped window (25 kids)
631000.0 778000.0 ( 1.23) Circulate Unmapped window (50 kids)
543000.0 627000.0 ( 1.15) Circulate Unmapped window (75 kids)
442000.0 530000.0 ( 1.20) Circulate Unmapped window (100 kids)
259000.0 329000.0 ( 1.27) Circulate Unmapped window (200 kids)
< Previous Next >