EXA performance

Jim Gettys jg at laptop.org
Thu Aug 30 13:12:33 EDT 2007


It's not clear to me that micro-benchmarks are going to tell us much at
all: I'm worried about the fact that Cairo likes to do things 32 bits
and they then have to be converted and composited at 16 bits; the
microbenchmarks won't tell us much about how common these conversion
costs are.

I think it is time for a tinderbox run with oprofile.
                                - Jim


On Thu, 2007-08-30 at 11:03 -0600, Jordan Crouse wrote:
> On 30/08/07 12:48 +0200, Stefano Fedrigo wrote:
> > Bernardo Innocenti wrote:
> > > Performance of 16bpp VS 24bpp has been a hot topic recently.
> > > We know 24bpp to be much faster for some operations (my
> > > bench.py notably) and much slower for others (image puts),
> > > but it's not clear which one is the overall winner
> > > for our typical workload.
> > > 
> > > Jim would like to see some numbers in order to make a
> > > decision.  Aleph, could you publish the results of x11perf
> > > at least?  The Cairo perfomance suite would be even more
> > > interesting to see.
> > 
> > Made two runs with x11perf, at 16 and 24 bpp.  Xserver from
> > server-1.4-branch git tree, on a B4 laptop.
> > x11perfcomp output attached, sorted by relative performance.
> > 
> > Some operations are faster at 24bpp, other ones better at 16bpp.
> > Looking at these data 16bpp seems a better choice: a greater number of
> > ops fare better than at 24bpp, but one has to consider what are the
> > operations Sugar does more.
> > I'm going to do some Cairo testing...
> 
> Looking at these numbers, I get the impression that we might be CPU bound
> in more places then we thought - we're moving twice the bytes in 24bpp mode,
> and the lowest performing tests (which all move a bunch of bytes),
> seem to generally reflect half the performance.  Solid fills, which require
> no byte moving at all are coming in at 1:1i and thats expected, since the
> hardware will move just as fast for 16bpp and 24bpp, and the alpha fills are 
> coming at twice the performance because we don't have the additional
> conversion hit in the driver composite code. 
> 
> If thats true, then yes, 16bpp will be better, because Sugar is all about
> pixmaps (few solid fills).  But massive profiling is needed to verify all
> this.
> 
> Jordan
> 
> > 
> > 1: x11perf-16.log
> > 2: x11perf-24.log
> >     1              2           Operation
> > --------   -----------------   -----------------
> >     53.7       18.2 (  0.34)   PutImage XY 100x100 square 
> >      5.0        1.7 (  0.34)   ShmPutImage XY 500x500 square 
> >      2.3        0.8 (  0.35)   PutImage XY 500x500 square 
> >    133.0       49.8 (  0.37)   ShmPutImage XY 100x100 square 
> >   2470.0     1000.0 (  0.40)   PutImage 100x100 square 
> >    492.0      202.0 (  0.41)   Scroll 500x500 pixels 
> >   3200.0     1420.0 (  0.44)   PutImage XY 10x10 square 
> >    799.0      360.0 (  0.45)   Copy 500x500 from pixmap to pixmap 
> >     78.0       35.8 (  0.46)   PutImage 500x500 square 
> >   1840.0      886.0 (  0.48)   500x500 rectangle 
> >    805.0      390.0 (  0.48)   500x500 tiled rectangle (161x145 tile) 
> >    858.0      414.0 (  0.48)   500x500 tiled rectangle (216x208 tile) 
> >    773.0      369.0 (  0.48)   Copy 500x500 from pixmap to window 
> >    774.0      369.0 (  0.48)   Copy 500x500 from window to pixmap 
> >    827.0      400.0 (  0.48)   GetImage 100x100 square 
> >    193.0       91.8 (  0.48)   ShmPutImage 500x500 square 
> >   5120.0     2490.0 (  0.49)   ShmPutImage 100x100 square 
> >  17600.0     8800.0 (  0.50)   Copy 100x100 from pixmap to pixmap 
> >    746.0      372.0 (  0.50)   Copy 500x500 from window to window 
> >      1.6        0.8 (  0.50)   GetImage XY 500x500 square 
> >  58300.0    29700.0 (  0.51)   100x100 rectangle 
> >   4080.0     2070.0 (  0.51)   500x500 wide rectangle outline 
> >  17200.0     8760.0 (  0.51)   Copy 100x100 from pixmap to window 
> >  17100.0     8760.0 (  0.51)   Copy 100x100 from window to pixmap 
> >  17300.0     8750.0 (  0.51)   Copy 100x100 from window to window 
> >     39.4       20.2 (  0.51)   GetImage XY 100x100 square 
> >  18500.0     9470.0 (  0.51)   Scroll 100x100 pixels 
> >  27100.0    14000.0 (  0.52)   100x100 tiled rectangle (216x208 tile) 
> >  25400.0    13400.0 (  0.53)   100x100 tiled rectangle (161x145 tile) 
> >     32.1       17.4 (  0.54)   GetImage 500x500 square 
> >    130.0       71.7 (  0.55)   Copy 500x500 1-bit deep plane 
> >    793.0      435.0 (  0.55)   Fill 300x300 tiled trapezoid (216x208 tile) 
> >   5360.0     2930.0 (  0.55)   ShmPutImage XY 10x10 square 
> >   1600.0      893.0 (  0.56)   500-pixel solid circle 
> >   2720.0     1610.0 (  0.59)   Copy 100x100 1-bit deep plane 
> >  93100.0    57000.0 (  0.61)   100-pixel line 
> >  19600.0    11900.0 (  0.61)   500-pixel line 
> >  16300.0    10300.0 (  0.63)   500-pixel line segment 
> >   8970.0     5780.0 (  0.64)   500-pixel circle 
> >    108.0       68.6 (  0.64)   500x500 stippled rectangle (161x145 stipple) 
> >   9000.0     5800.0 (  0.64)   Char in 30-char aa core line (Charter 24) 
> >    242.0      154.0 (  0.64)   Fill 300x300 opaque stippled trapezoid (161x145 stipple) 
> >  77200.0    50000.0 (  0.65)   100-pixel line segment 
> >    107.0       69.1 (  0.65)   500x500 opaque stippled rectangle (161x145 stipple) 
> > 755000.0   501000.0 (  0.66)   10-pixel line 
> >    418.0      277.0 (  0.66)   500x500 tiled rectangle (17x15 tile) 
> >  74400.0    49500.0 (  0.67)   100-pixel line segment (1 kid) 
> >   2450.0     1630.0 (  0.67)   100x100 opaque stippled rectangle (161x145 stipple) 
> >   5180.0     3480.0 (  0.67)   500x500 rectangle outline 
> >   1680.0     1120.0 (  0.67)   GetImage XY 10x10 square 
> >   2230.0     1520.0 (  0.68)   100x100 stippled rectangle (161x145 stipple) 
> >  13700.0     9340.0 (  0.68)   100x100 tiled rectangle (17x15 tile) 
> >  10800.0     7330.0 (  0.68)   500-pixel ellipse 
> >   7230.0     4920.0 (  0.68)   500x50 wide vertical line segment 
> >  71400.0    49100.0 (  0.69)   100-pixel line segment (2 kids) 
> >   2360.0     1620.0 (  0.69)   500-pixel filled ellipse 
> >   2650.0     1830.0 (  0.69)   Fill 300x300 trapezoid 
> >  61300.0    42800.0 (  0.70)   100-pixel double-dashed line 
> >   1490.0     1050.0 (  0.70)   Fill 100x100 opaque stippled trapezoid (161x145 stipple) 
> >    831.0      578.0 (  0.70)   Fill 300x300 tiled trapezoid (161x145 tile) 
> >  57300.0    40800.0 (  0.71)   100-pixel double-dashed segment 
> >  69000.0    48900.0 (  0.71)   100-pixel line segment (3 kids) 
> >  41400.0    29700.0 (  0.72)   100-pixel circle 
> > 562000.0   408000.0 (  0.73)   10-pixel line segment 
> >     21.7       15.9 (  0.73)   Copy 500x500 n-bit deep plane 
> >    211.0      154.0 (  0.73)   Fill 300x300 stippled trapezoid (161x145 stipple) 
> >  48700.0    35800.0 (  0.74)   100-pixel ellipse 
> >    517.0      384.0 (  0.74)   Copy 100x100 n-bit deep plane 
> >     57.5       43.1 (  0.75)   500x500 stippled rectangle (17x15 stipple) 
> >   5560.0     4150.0 (  0.75)   Char in 30-char rgb core line (Charter 24) 
> >  33800.0    25500.0 (  0.75)   Char in 80-char aa core line (Charter 10) 
> >  41400.0    31600.0 (  0.76)   100-pixel partial circle 
> > 264000.0   201000.0 (  0.76)   10-pixel circle 
> >   7240.0     5490.0 (  0.76)   500x50 wide horizontal line segment 
> >  26800.0    20300.0 (  0.76)   Char in 80-char aa core line (Courier 12) 
> >   1390.0     1060.0 (  0.76)   Fill 100x100 stippled trapezoid (161x145 stipple) 
> >   1800.0     1390.0 (  0.77)   100x100 opaque stippled rectangle (17x15 stipple) 
> >     77.6       59.7 (  0.77)   500x500 opaque stippled rectangle (17x15 stipple) 
> >   3770.0     2900.0 (  0.77)   Fill 100x100 tiled trapezoid (216x208 tile) 
> >  50600.0    39600.0 (  0.78)   100-pixel partial ellipse 
> >   1350.0     1050.0 (  0.78)   100x100 stippled rectangle (17x15 stipple) 
> >  18400.0    14600.0 (  0.79)   Char in 80-char rgb core line (Courier 12) 
> >    112.0       88.7 (  0.79)   Fill 300x300 opaque stippled trapezoid (17x15 stipple) 
> >  67700.0    54000.0 (  0.80)   100-pixel dashed line 
> >  65800.0    53500.0 (  0.81)   100-pixel dashed segment 
> >  15100.0    12200.0 (  0.81)   100x100 rectangle outline 
> >  22100.0    17800.0 (  0.81)   Char in 80-char rgb core line (Charter 10) 
> >    837.0      677.0 (  0.81)   Fill 100x100 opaque stippled trapezoid (17x15 stipple) 
> > 266000.0   217000.0 (  0.82)   10-pixel ellipse 
> >   3420.0     2820.0 (  0.82)   Fill 100x100 tiled trapezoid (161x145 tile) 
> >  89600.0    74100.0 (  0.83)   10x10 opaque stippled rectangle (161x145 stipple) 
> >  36800.0    30400.0 (  0.83)   PutImage 10x10 square 
> >    689.0      579.0 (  0.84)   Fill 100x100 stippled trapezoid (17x15 stipple) 
> >     88.2       74.3 (  0.84)   Fill 300x300 stippled trapezoid (17x15 stipple) 
> > 169000.0   146000.0 (  0.86)   10-pixel partial circle 
> >  71600.0    61900.0 (  0.86)   10x10 opaque stippled rectangle (17x15 stipple) 
> >  21500.0    18500.0 (  0.86)   Copy 10x10 n-bit deep plane 
> >     64.4       56.2 (  0.87)   Fill 300x300 opaque stippled trapezoid (8x8 stipple) 
> > 146000.0   128000.0 (  0.88)   Char in 30-char image line (TR 24) 
> >    521.0      459.0 (  0.88)   Fill 100x100 opaque stippled trapezoid (8x8 stipple) 
> > 351000.0   313000.0 (  0.89)   10-pixel dashed line 
> >  79300.0    70600.0 (  0.89)   10x10 stippled rectangle (161x145 stipple) 
> >  56600.0    50500.0 (  0.89)   Char16 in 23-char image line (k24) 
> > 332000.0   300000.0 (  0.90)   10-pixel dashed segment 
> > 173000.0   155000.0 (  0.90)   10-pixel partial ellipse 
> > 638000.0   575000.0 (  0.90)   1-pixel circle 
> >  40600.0    36600.0 (  0.90)   Copy 10x10 1-bit deep plane 
> >  58100.0    52700.0 (  0.91)   10x10 stippled rectangle (17x15 stipple) 
> > 261000.0   240000.0 (  0.92)   1x1 opaque stippled rectangle (161x145 stipple) 
> > 272000.0   251000.0 (  0.92)   1x1 opaque stippled rectangle (8x8 stipple) 
> > 135000.0   124000.0 (  0.92)   Char16 in 40-char image line (k14) 
> > 242000.0   223000.0 (  0.92)   Char in 60-char image line (9x15) 
> >  20900.0    19200.0 (  0.92)   Fill 10x10 opaque stippled trapezoid (161x145 stipple) 
> >  18600.0    17200.0 (  0.92)   Fill 10x10 opaque stippled trapezoid (17x15 stipple) 
> > 261000.0   243000.0 (  0.93)   1x1 opaque stippled rectangle (17x15 stipple) 
> >  17500.0    16300.0 (  0.93)   Fill 10x10 stippled trapezoid (17x15 stipple) 
> >  55000.0    51900.0 (  0.94)   10x10 opaque stippled rectangle (8x8 stipple) 
> > 252000.0   238000.0 (  0.94)   1x1 stippled rectangle (161x145 stipple) 
> > 262000.0   247000.0 (  0.94)   1x1 stippled rectangle (8x8 stipple) 
> > 263000.0   246000.0 (  0.94)   Char in 70-char image line (8x13) 
> > 306000.0   288000.0 (  0.94)   Char in 80-char image line (6x13) 
> > 370000.0   346000.0 (  0.94)   Char in 80-char image line (TR 10) 
> >  68500.0    64700.0 (  0.94)   Fill 2x1 aa trap 
> >   4190.0     3950.0 (  0.94)   GetImage 10x10 square 
> > 252000.0   240000.0 (  0.95)   1x1 stippled rectangle (17x15 stipple) 
> >  81200.0    76800.0 (  0.95)   Char16 in 7/14/7 line (k14, k24) 
> >  16600.0    15700.0 (  0.95)   Fill 10x10 opaque stippled trapezoid (8x8 stipple) 
> >  20300.0    19200.0 (  0.95)   Fill 10x10 stippled trapezoid (161x145 stipple) 
> >  75000.0    71000.0 (  0.95)   Fill 1x1 aa trap 
> >   8370.0     7990.0 (  0.95)   Fill 2x10 aa trap 
> >   8160.0     7870.0 (  0.96)   100x10 wide line 
> > 222000.0   214000.0 (  0.96)   10-pixel vertical line segment 
> > 2480000.0   2370000.0 (  0.96)   1-pixel line 
> >   1290.0     1240.0 (  0.96)   500-pixel wide ellipse 
> >  62600.0    60000.0 (  0.96)   Char16 in 23-char line (k24) 
> >    936.0      901.0 (  0.96)   Fill 100x100 aa trap 
> >   1960.0     1890.0 (  0.96)   Fill 100x100 tiled trapezoid (17x15 tile) 
> >   9440.0     9100.0 (  0.96)   Fill 10x10 aa trap 
> >    862.0      825.0 (  0.96)   Fill 2x100 aa trap 
> >    288.0      276.0 (  0.96)   Fill 2x300 aa trap 
> >    306.0      294.0 (  0.96)   Fill 300x300 aa trap 
> >  16800.0    16100.0 (  0.96)   ShmPutImage 10x10 square 
> > 423000.0   409000.0 (  0.97)   10x10 rectangle 
> >    914.0      885.0 (  0.97)   500-pixel wide circle 
> >   1830.0     1770.0 (  0.97)   500x50 wide line 
> > 145000.0   141000.0 (  0.97)   Char16 in 40-char line (k14) 
> > 167000.0   162000.0 (  0.97)   Char in 30-char line (TR 24) 
> > 124000.0   120000.0 (  0.97)   Circulate Unmapped window (50 kids) 
> >    405.0      392.0 (  0.97)   Fill 100x100 stippled trapezoid (8x8 stipple) 
> >  24700.0    23900.0 (  0.97)   Fill 10x10 tiled trapezoid (216x208 tile) 
> >    276.0      269.0 (  0.97)   Fill 300x300 aa trap with 4 bit alpha 
> >    314.0      304.0 (  0.97)   Fill 300x300 tiled trapezoid (17x15 tile) 
> >     97.5       94.9 (  0.97)   Fill 300x300 tiled trapezoid (4x4 tile) 
> >   4960.0     4790.0 (  0.97)   GetProperty 
> >   5040.0     4910.0 (  0.97)   QueryPointer 
> >   9520.0     9350.0 (  0.98)   100-pixel fill chord partial circle 
> >  11200.0    11000.0 (  0.98)   100-pixel filled ellipse 
> >   8470.0     8310.0 (  0.98)   100-pixel fill slice partial circle 
> >  12500.0    12300.0 (  0.98)   100-pixel fill slice partial ellipse 
> >   8300.0     8170.0 (  0.98)   100-pixel solid circle 
> >   6210.0     6100.0 (  0.98)   100-pixel wide ellipse 
> >   4090.0     4000.0 (  0.98)   100x10 wide dashed line 
> >   4070.0     3990.0 (  0.98)   100x10 wide double-dashed line 
> > 425000.0   417000.0 (  0.98)   1x1 rectangle 
> > 435000.0   426000.0 (  0.98)   Dot 
> >   5440.0     5350.0 (  0.98)   Fill 100x100 64-gon (Convex) 
> >   3410.0     3340.0 (  0.98)   Fill 100x100 equivalent complex polygons 
> >   5270.0     5190.0 (  0.98)   Fill 100x100 equivalent triangle 
> >   7280.0     7170.0 (  0.98)   Fill 100x100 trapezoid 
> >  25100.0    24600.0 (  0.98)   Fill 10x10 tiled trapezoid (161x145 tile) 
> >     48.3       47.4 (  0.98)   Fill 300x300 stippled trapezoid (8x8 stipple) 
> >  92000.0    90400.0 (  0.98)   Moved unmapped window (16 kids) 
> > 405000.0   397000.0 (  0.98)   Unmap window via parent (100 kids) 
> > 225000.0   220000.0 (  0.98)   Unmap window via parent (16 kids) 
> > 441000.0   431000.0 (  0.98)   Unmap window via parent (200 kids) 
> > 356000.0   350000.0 (  0.98)   Unmap window via parent (50 kids) 
> >   3470.0     3450.0 (  0.99)   100-pixel dashed ellipse 
> >   2130.0     2100.0 (  0.99)   100-pixel double-dashed ellipse 
> >  14100.0    13900.0 (  0.99)   100-pixel fill chord partial ellipse 
> > 620000.0   614000.0 (  0.99)   100-pixel horizontal line segment 
> > 475000.0   471000.0 (  0.99)   100-pixel vertical line segment 
> >   4430.0     4390.0 (  0.99)   100-pixel wide circle 
> >    648.0      641.0 (  0.99)   100-pixel wide double-dashed circle 
> >   2550.0     2530.0 (  0.99)   100-pixel wide partial circle 
> >   1480.0     1470.0 (  0.99)   100-pixel wide partial ellipse 
> >  53000.0    52500.0 (  0.99)   10-pixel fill chord partial circle 
> > 666000.0   661000.0 (  0.99)   10-pixel horizontal line segment 
> >  38600.0    38200.0 (  0.99)   10-pixel wide circle 
> >   6000.0     5960.0 (  0.99)   10x10 rectangle outline 
> > 1850000.0   1840000.0 (  0.99)   1-pixel line segment 
> > 3550000.0   3510000.0 (  0.99)   1-pixel solid circle 
> > 820000.0   814000.0 (  0.99)   500-pixel vertical line segment 
> > 265000.0   262000.0 (  0.99)   Char in 60-char line (9x15) 
> > 325000.0   322000.0 (  0.99)   Char in 80-char line (6x13) 
> > 391000.0   388000.0 (  0.99)   Char in 80-char line (TR 10) 
> > 105000.0   104000.0 (  0.99)   Destroy window via parent (75 kids) 
> >   1510.0     1500.0 (  0.99)   Fill 100x100 aa pre-added trapezoid 
> >    778.0      767.0 (  0.99)   Fill 100x100 tiled trapezoid (4x4 tile) 
> >  15000.0    14800.0 (  0.99)   Fill 10x10 stippled trapezoid (8x8 stipple) 
> >  88000.0    87500.0 (  0.99)   Resize unmapped window (100 kids) 
> >  87700.0    86900.0 (  0.99)   Resize unmapped window (200 kids) 
> > 277000.0   275000.0 (  0.99)   Unmap window via parent (25 kids) 
> >   2720.0     2710.0 (  1.00)   100-pixel dashed circle 
> >   1650.0     1650.0 (  1.00)   100-pixel double-dashed circle 
> >    543.0      543.0 (  1.00)   100-pixel wide dashed circle 
> >    601.0      602.0 (  1.00)   100-pixel wide dashed ellipse 
> >    626.0      624.0 (  1.00)   100-pixel wide double-dashed ellipse 
> >   1020.0     1020.0 (  1.00)   100x100 opaque stippled rectangle (8x8 stipple) 
> >  61600.0    61800.0 (  1.00)   10-pixel fill chord partial ellipse 
> >  49100.0    49200.0 (  1.00)   10-pixel fill slice partial circle 
> >  57900.0    58100.0 (  1.00)   10-pixel fill slice partial ellipse 
> >  62300.0    62400.0 (  1.00)   10-pixel solid circle 
> >  46500.0    46300.0 (  1.00)   10-pixel wide ellipse 
> >   7860.0     7860.0 (  1.00)   10-pixel wide partial circle 
> >   7980.0     7980.0 (  1.00)   10-pixel wide partial ellipse 
> > 310000.0   310000.0 (  1.00)   10x10 tiled rectangle (161x145 tile) 
> > 319000.0   319000.0 (  1.00)   10x10 tiled rectangle (216x208 tile) 
> >   6000.0     5990.0 (  1.00)   10x10 wide rectangle outline 
> > 781000.0   779000.0 (  1.00)   500-pixel horizontal line segment 
> >     43.4       43.3 (  1.00)   500x500 opaque stippled rectangle (8x8 stipple) 
> > 299000.0   299000.0 (  1.00)   Char in 20/40/20 line (6x13, TR 10) 
> > 282000.0   281000.0 (  1.00)   Char in 70-char line (8x13) 
> >  12400.0    12400.0 (  1.00)   Char in 80-char aa line (Courier 12) 
> > 105000.0   105000.0 (  1.00)   Circulate Unmapped window (100 kids) 
> > 139000.0   139000.0 (  1.00)   Circulate Unmapped window (16 kids) 
> >  39600.0    39600.0 (  1.00)   Create unmapped window (4 kids) 
> >  40900.0    41100.0 (  1.00)   Create unmapped window (50 kids) 
> >   4060.0     4040.0 (  1.00)   Fill 100x100 64-gon (Complex) 
> >    701.0      699.0 (  1.00)   Fill 100x100 aa trap with 4 bit alpha 
> >  12600.0    12600.0 (  1.00)   Fill 10x10 aa pre-added trapezoid 
> >  20700.0    20800.0 (  1.00)   Fill 10x10 tiled trapezoid (4x4 tile) 
> >    509.0      508.0 (  1.00)   Fill 300x300 aa pre-added trapezoid 
> > 100000.0   100000.0 (  1.00)   Move window via parent (16 kids) 
> > 125000.0   125000.0 (  1.00)   Move window via parent (25 kids) 
> >  37500.0    37400.0 (  1.00)   Move window via parent (4 kids) 
> >  87800.0    87400.0 (  1.00)   Resize unmapped window (16 kids) 
> >  87600.0    87800.0 (  1.00)   Resize unmapped window (25 kids) 
> >  87900.0    87700.0 (  1.00)   Resize unmapped window (50 kids) 
> >  87600.0    87500.0 (  1.00)   Resize unmapped window (75 kids) 
> > 193000.0   193000.0 (  1.00)   X protocol NoOperation 
> >  22500.0    22800.0 (  1.01)   100x10 wide horizontal line segment 
> >  77100.0    77800.0 (  1.01)   10-pixel filled ellipse 
> > 326000.0   329000.0 (  1.01)   1x1 tiled rectangle (161x145 tile) 
> > 327000.0   330000.0 (  1.01)   1x1 tiled rectangle (17x15 tile) 
> > 329000.0   332000.0 (  1.01)   1x1 tiled rectangle (216x208 tile) 
> > 345000.0   347000.0 (  1.01)   1x1 tiled rectangle (4x4 tile) 
> >  12300.0    12400.0 (  1.01)   Char in 80-char aa line (Charter 10) 
> >  80300.0    81500.0 (  1.01)   Circulate Unmapped window (200 kids) 
> > 134000.0   135000.0 (  1.01)   Circulate Unmapped window (25 kids) 
> > 144000.0   146000.0 (  1.01)   Circulate Unmapped window (4 kids) 
> > 112000.0   113000.0 (  1.01)   Circulate Unmapped window (75 kids) 
> >  22300.0    22600.0 (  1.01)   Create and map subwindows (200 kids) 
> >  19100.0    19200.0 (  1.01)   Create and map subwindows (4 kids) 
> >  23300.0    23600.0 (  1.01)   Create and map subwindows (75 kids) 
> >  40900.0    41300.0 (  1.01)   Create unmapped window (100 kids) 
> >  40800.0    41200.0 (  1.01)   Create unmapped window (200 kids) 
> >  40400.0    40800.0 (  1.01)   Create unmapped window (25 kids) 
> >  15200.0    15400.0 (  1.01)   Fill 10x10 64-gon (Complex) 
> >  17400.0    17600.0 (  1.01)   Fill 10x10 64-gon (Convex) 
> >  23900.0    24100.0 (  1.01)   Fill 10x10 tiled trapezoid (17x15 tile) 
> >  55900.0    56500.0 (  1.01)   Fill 1x1 aa pre-added trapezoid 
> >  30000.0    30300.0 (  1.01)   Map window via parent (4 kids) 
> >  90600.0    91700.0 (  1.01)   Moved unmapped window (100 kids) 
> >  91500.0    92300.0 (  1.01)   Moved unmapped window (25 kids) 
> >  91300.0    92400.0 (  1.01)   Moved unmapped window (50 kids) 
> >   4670.0     4710.0 (  1.01)   Move window (100 kids) 
> > 202000.0   205000.0 (  1.01)   Move window via parent (200 kids) 
> > 158000.0   160000.0 (  1.01)   Move window via parent (50 kids) 
> >  87600.0    88200.0 (  1.01)   Resize unmapped window (4 kids) 
> >   5470.0     5550.0 (  1.01)   Resize window (100 kids) 
> >   3720.0     3740.0 (  1.01)   Resize window (200 kids) 
> >  11100.0    11200.0 (  1.01)   Resize window (4 kids) 
> >   6230.0     6310.0 (  1.01)   Resize window (75 kids) 
> >  85500.0    86300.0 (  1.01)   Unmap window via parent (4 kids) 
> > 381000.0   383000.0 (  1.01)   Unmap window via parent (75 kids) 
> >   1760.0     1800.0 (  1.02)   100x100 tiled rectangle (4x4 tile) 
> >  22400.0    22800.0 (  1.02)   100x10 wide vertical line segment 
> > 191000.0   194000.0 (  1.02)   10x10 tiled rectangle (17x15 tile) 
> >  65300.0    66600.0 (  1.02)   10x10 tiled rectangle (4x4 tile) 
> >     51.6       52.6 (  1.02)   500x500 tiled rectangle (4x4 tile) 
> >   3980.0     4070.0 (  1.02)   Circulate window (100 kids) 
> >   4940.0     5030.0 (  1.02)   Circulate window (16 kids) 
> >   3420.0     3490.0 (  1.02)   Circulate window (200 kids) 
> >   6990.0     7110.0 (  1.02)   Circulate window (4 kids) 
> >   4370.0     4470.0 (  1.02)   Circulate window (50 kids) 
> >   4170.0     4260.0 (  1.02)   Circulate window (75 kids) 
> >  23100.0    23600.0 (  1.02)   Create and map subwindows (100 kids) 
> >  22500.0    23000.0 (  1.02)   Create and map subwindows (16 kids) 
> >  23100.0    23600.0 (  1.02)   Create and map subwindows (25 kids) 
> >  23200.0    23700.0 (  1.02)   Create and map subwindows (50 kids) 
> >  40800.0    41500.0 (  1.02)   Create unmapped window (75 kids) 
> > 105000.0   107000.0 (  1.02)   Destroy window via parent (100 kids) 
> >  42200.0    43000.0 (  1.02)   Destroy window via parent (4 kids) 
> > 100000.0   102000.0 (  1.02)   Destroy window via parent (50 kids) 
> >  21400.0    21900.0 (  1.02)   Fill 10x10 equivalent complex polygon 
> >  90100.0    91600.0 (  1.02)   Moved unmapped window (200 kids) 
> >  90600.0    92800.0 (  1.02)   Moved unmapped window (75 kids) 
> >   3070.0     3130.0 (  1.02)   Move window (200 kids) 
> >  10000.0    10200.0 (  1.02)   Move window (4 kids) 
> >   5280.0     5380.0 (  1.02)   Move window (75 kids) 
> > 184000.0   187000.0 (  1.02)   Move window via parent (100 kids) 
> > 174000.0   178000.0 (  1.02)   Move window via parent (75 kids) 
> >   7190.0     7310.0 (  1.02)   Resize window (50 kids) 
> >   4670.0     4790.0 (  1.03)   Circulate window (25 kids) 
> >  39700.0    40800.0 (  1.03)   Create unmapped window (16 kids) 
> >  79800.0    82300.0 (  1.03)   Destroy window via parent (16 kids) 
> >  29200.0    30000.0 (  1.03)   Hide/expose window via popup (16 kids) 
> >  33000.0    34000.0 (  1.03)   Hide/expose window via popup (25 kids) 
> >  45100.0    46600.0 (  1.03)   Map window via parent (16 kids) 
> >  89400.0    92100.0 (  1.03)   Moved unmapped window (4 kids) 
> >   6150.0     6330.0 (  1.03)   Move window (50 kids) 
> >  23400.0    24400.0 (  1.04)   100x100 wide rectangle outline 
> >  28500.0    29500.0 (  1.04)   Change graphics context 
> > 108000.0   112000.0 (  1.04)   Destroy window via parent (200 kids) 
> >  89700.0    93700.0 (  1.04)   Destroy window via parent (25 kids) 
> >  51200.0    53200.0 (  1.04)   Fill 1x1 opaque stippled trapezoid (17x15 stipple) 
> >  37600.0    39100.0 (  1.04)   Hide/expose window via popup (100 kids) 
> >  35300.0    36600.0 (  1.04)   Hide/expose window via popup (50 kids) 
> >  36600.0    38200.0 (  1.04)   Hide/expose window via popup (75 kids) 
> >  51100.0    52900.0 (  1.04)   Map window via parent (50 kids) 
> >   8070.0     8370.0 (  1.04)   Move window (16 kids) 
> >  38800.0    40600.0 (  1.05)   10x1 wide line 
> >  28700.0    30100.0 (  1.05)   Fill 10x10 equivalent triangle 
> >  51400.0    53800.0 (  1.05)   Fill 1x1 stippled trapezoid (17x15 stipple) 
> >  38600.0    40600.0 (  1.05)   Hide/expose window via popup (200 kids) 
> >  15000.0    15700.0 (  1.05)   Hide/expose window via popup (4 kids) 
> >  48900.0    51200.0 (  1.05)   Map window via parent (25 kids) 
> >   7390.0     7760.0 (  1.05)   Move window (25 kids) 
> >  41500.0    44000.0 (  1.06)   10x10 stippled rectangle (8x8 stipple) 
> >  33100.0    35000.0 (  1.06)   Fill 10x10 trapezoid 
> >  50900.0    54000.0 (  1.06)   Fill 1x1 opaque stippled trapezoid (161x145 stipple) 
> >  51200.0    54200.0 (  1.06)   Fill 1x1 opaque stippled trapezoid (8x8 stipple) 
> >   2160.0     2320.0 (  1.07)   Fill 10x10 aa trap with 4 bit alpha 
> >  50900.0    54600.0 (  1.07)   Fill 1x1 stippled trapezoid (161x145 stipple) 
> >  50900.0    54300.0 (  1.07)   Fill 1x1 stippled trapezoid (8x8 stipple) 
> >   9300.0     9990.0 (  1.07)   Resize window (16 kids) 
> >   8250.0     8840.0 (  1.07)   Resize window (25 kids) 
> >   1800.0     1950.0 (  1.08)   Char in 30-char a core line (Charter 24) 
> >  39600.0    42900.0 (  1.08)   Copy 10x10 from window to pixmap 
> >  50800.0    55000.0 (  1.08)   Fill 1x1 tiled trapezoid (17x15 tile) 
> >  50100.0    53900.0 (  1.08)   Fill 1x1 tiled trapezoid (216x208 tile) 
> >  50900.0    54900.0 (  1.08)   Fill 1x1 tiled trapezoid (4x4 tile) 
> >   4450.0     4840.0 (  1.09)   Char in 80-char a core line (Charter 10) 
> >   3850.0     4180.0 (  1.09)   Char in 80-char a core line (Courier 12) 
> >  48300.0    52600.0 (  1.09)   Copy 10x10 from pixmap to pixmap 
> >  41000.0    44600.0 (  1.09)   Copy 10x10 from pixmap to window 
> >  51500.0    56200.0 (  1.09)   Fill 1x1 equivalent triangle 
> >  50200.0    54600.0 (  1.09)   Fill 1x1 tiled trapezoid (161x145 tile) 
> >  51500.0    56200.0 (  1.09)   Fill 1x1 trapezoid 
> >  49400.0    53700.0 (  1.09)   Map window via parent (75 kids) 
> >  34500.0    38000.0 (  1.10)   10x1 wide vertical line segment 
> >  10300.0    11300.0 (  1.10)   Char in 80-char rgb line (Charter 10) 
> >   8780.0     9660.0 (  1.10)   Char in 80-char rgb line (Courier 12) 
> >  10000.0    11000.0 (  1.10)   Fill 1x1 aa trapezoid 
> >   2710.0     2990.0 (  1.10)   Fill 1x1 aa trap with 4 bit alpha 
> >  34300.0    38000.0 (  1.11)   10x1 wide horizontal line segment 
> >   2590.0     2890.0 (  1.12)   Char in 30-char rgb line (Charter 24) 
> >  41600.0    46400.0 (  1.12)   Copy 10x10 from window to window 
> >  49000.0    55100.0 (  1.12)   Map window via parent (100 kids) 
> >  41900.0    46800.0 (  1.12)   Scroll 10x10 pixels 
> >  49400.0    55700.0 (  1.13)   Map window via parent (200 kids) 
> >    678.0      779.0 (  1.15)   100x100 stippled rectangle (8x8 stipple) 
> >  17500.0    20200.0 (  1.15)   Char in 30-char aa line (Charter 24) 
> >     28.3       32.8 (  1.16)   500x500 stippled rectangle (8x8 stipple) 
> >  10400.0    12100.0 (  1.16)   Char in 80-char a line (Charter 10) 
> >   9110.0    11000.0 (  1.21)   Char in 80-char a line (Courier 12) 
> >   5560.0     7340.0 (  1.32)   Fill 10x10 aa trapezoid 
> >   3700.0     5030.0 (  1.36)   Fill 300x300 aa trap with 1 bit alpha 
> >   4110.0     5760.0 (  1.40)   Char in 30-char a line (Charter 24) 
> >   5530.0     9110.0 (  1.65)   Fill 100x100 aa trap with 1 bit alpha 
> >   6670.0    12700.0 (  1.90)   Fill 10x10 aa trap with 1 bit alpha 
> >    163.0      315.0 (  1.93)   Fill 100x100 aa trapezoid 
> >   6870.0    13500.0 (  1.97)   Fill 1x1 aa trap with 1 bit alpha 
> >     18.3       36.9 (  2.02)   Fill 300x300 aa trapezoid 
> 
> > _______________________________________________
> > Devel mailing list
> > Devel at lists.laptop.org
> > http://lists.laptop.org/listinfo/devel
> 
> 
-- 
Jim Gettys
One Laptop Per Child





More information about the Devel mailing list