rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (01/07/90)
I've received lots of questions from people about whether they should or shouldn't get the GX option on the Sun SPARCstation if they're going to run X, and what the effect on performance is. We had to answer that question for our group; here is some information that you might find useful as part of your decision-making process. The following numbers were obtained using x11perf version 1.2, as distributed in R4. Remember, this is just one set of benchmark numbers, you really need to understand your environment and application requirements to make sense of things. All numbers were obtained on the same physical machine, using the same kernel; GX and CG3 framebuffer boards were just swapped in and out. The machine is a SPARCstation 1, with 16Mb of memory, and a Wren disk for swap, running SunOS 4.0.3. The kernel is "vanilla"; I think there was something about a "segment driver" for the GX in the OpenWindows distribution, but that has not been used, so please take note of that. The servers are the MIT R4 server compiled with the standard Sun compiler, and the OpenWindows 1.0 server. The OpenWindows server was run in X11ONLY mode. The MIT R4 server makes no use of the GX hardware, it simply treats it as a memory frame buffer; the performance characteristics of the GX hardware when used this way are not identical to the CG3 hardware. The main numbers below are the "trep (things/sec.)" numbers as reported by x11perf when run with a -repeat count of 3. The numbers in parentheses are ratios of the given column to column 1, i.e., performance relative to an R4/CG3 base; for example, R4/GX large scrolls are about half as fast as R4/CG3, whereas OW/GX large scrolls are over seven times faster than R4/CG3. Differences of just a few percent should certainly be ignored in making comparisons. I should point out that the pixelization rules used by the OpenWindows server appear to be different than those used by the R4 server for wide lines and solid arcs (and I believe the R4 algorithms match the X protocol specification in most cases); it is unclear what effect this has on performance. 1: MIT R4 on CG3 2: MIT R4 on GX 3: OpenWindows 1.0 on CG3 4: OpenWindows 1.0 on GX 1 2 3 4 Operation -------- ---------------- ---------------- ---------------- ---------------- 155000.0 156000.0( 1.01) 108000.0( 0.70) 112000.0( 0.72) Dot 36900.0 34600.0( 0.94) 5420.0( 0.15) 8330.0( 0.23) 1x1 rectangle 18900.0 15500.0( 0.82) 4750.0( 0.25) 8420.0( 0.45) 10x10 rectangle 682.0 580.0( 0.85) 549.0( 0.80) 5810.0( 8.52) 100x100 rectangle 30.0 26.0( 0.87) 26.2( 0.87) 378.0( 12.60) 500x500 rectangle 17300.0 17700.0( 1.02) 3160.0( 0.18) 2700.0( 0.16) 1x1 stippled rectangle 3200.0 3150.0( 0.98) 1870.0( 0.58) 2450.0( 0.77) 10x10 stippled rectangle 220.0 202.0( 0.92) 87.0( 0.40) 775.0( 3.52) 100x100 stippled rectangle 16.3 14.2( 0.87) 4.2( 0.26) 48.1( 2.95) 500x500 stippled rectangle 22000.0 21600.0( 0.98) 3930.0( 0.18) 2680.0( 0.12) 1x1 opaque stippled rectangle 5010.0 4830.0( 0.96) 1900.0( 0.38) 2490.0( 0.50) 10x10 opaque stippled rectangle 341.0 322.0( 0.94) 84.4( 0.25) 774.0( 2.27) 100x100 opaque stippled rectangle 24.6 21.9( 0.89) 4.0( 0.16) 48.2( 1.96) 500x500 opaque stippled rectangle 35700.0 35400.0( 0.99) 3940.0( 0.11) 2800.0( 0.078) 1x1 4x4 tiled rectangle 16500.0 14900.0( 0.90) 2530.0( 0.15) 2460.0( 0.15) 10x10 4x4 tiled rectangle 661.0 572.0( 0.87) 87.8( 0.13) 561.0( 0.85) 100x100 4x4 tiled rectangle 30.0 25.9( 0.86) 3.8( 0.13) 35.3( 1.18) 500x500 4x4 tiled rectangle 22300.0 22200.0( 1.00) 4100.0( 0.18) 2660.0( 0.12) 1x1 161x145 tiled rectangle 7210.0 7020.0( 0.97) 2790.0( 0.39) 2340.0( 0.32) 10x10 161x145 tiled rectangle 247.0 245.0( 0.99) 117.0( 0.47) 292.0( 1.18) 100x100 161x145 tiled rectangle 11.5 11.4( 0.99) 5.4( 0.47) 15.0( 1.30) 500x500 161x145 tiled rectangle 46300.0 47900.0( 1.03) 20900.0( 0.45) 55100.0( 1.19) 1-pixel line segment 34700.0 34100.0( 0.98) 18200.0( 0.52) 54700.0( 1.58) 10-pixel line segment 13500.0 12000.0( 0.89) 8200.0( 0.61) 29500.0( 2.19) 100-pixel line segment 3600.0 3100.0( 0.86) 2390.0( 0.66) 8280.0( 2.30) 500-pixel line segment 9620.0 8710.0( 0.91) 6650.0( 0.69) 20100.0( 2.09) 100-pixel line segment (1 kid) 7590.0 6940.0( 0.91) 5230.0( 0.69) 11300.0( 1.49) 100-pixel line segment (2 kids) 6150.0 5890.0( 0.96) 4200.0( 0.68) 14800.0( 2.41) 100-pixel line segment (3 kids) 21700.0 21700.0( 1.00) 1510.0( 0.070) 1610.0( 0.074) 10-pixel dashed segment 5370.0 5300.0( 0.99) 521.0( 0.097) 764.0( 0.14) 100-pixel dashed segment 4850.0 4820.0( 0.99) 333.0( 0.069) 587.0( 0.12) 100-pixel double-dashed segment 53500.0 41600.0( 0.78) 26500.0( 0.50) 110000.0( 2.06) 1-pixel line 38900.0 28300.0( 0.73) 22400.0( 0.58) 104000.0( 2.67) 10-pixel line 14000.0 11000.0( 0.79) 8990.0( 0.64) 35200.0( 2.51) 100-pixel line 3640.0 3010.0( 0.83) 2450.0( 0.67) 8820.0( 2.42) 500-pixel line 23900.0 23300.0( 0.97) 3600.0( 0.15) 5190.0( 0.22) 10-pixel dashed line 5540.0 5500.0( 0.99) 634.0( 0.11) 1150.0( 0.21) 100-pixel dashed line 4960.0 4890.0( 0.99) 382.0( 0.077) 767.0( 0.15) 100-pixel double-dashed line 3030.0 2930.0( 0.97) 21200.0( 7.00) 80400.0( 26.53) 10x1 wide line 721.0 698.0( 0.97) 207.0( 0.29) 291.0( 0.40) 100x10 wide line 112.0 103.0( 0.92) 71.0( 0.63) 203.0( 1.81) 500x50 wide line 304.0 307.0( 1.01) 42.8( 0.14) 48.4( 0.16) 100x10 wide dashed line 279.0 284.0( 1.02) 37.0( 0.13) 42.1( 0.15) 100x10 wide double-dashed line 19000.0 19400.0( 1.02) 1050.0( 0.055) 1020.0( 0.054) 1-pixel circle 14600.0 13800.0( 0.95) 773.0( 0.053) 763.0( 0.052) 10-pixel circle 5220.0 4270.0( 0.82) 355.0( 0.068) 395.0( 0.076) 100-pixel circle 1430.0 1090.0( 0.76) 69.1( 0.048) 75.7( 0.053) 500-pixel circle 375.0 380.0( 1.01) 62.7( 0.17) 80.2( 0.21) 100-pixel dashed circle 276.0 276.0( 1.00) 47.8( 0.17) 68.2( 0.25) 100-pixel double-dashed circle 274.0 267.0( 0.97) 785.0( 2.86) 758.0( 2.77) 10-pixel wide circle 68.6 68.4( 1.00) 58.2( 0.85) 56.7( 0.83) 100-pixel wide circle 14.1 13.6( 0.96) 17.0( 1.21) 23.2( 1.65) 500-pixel wide circle 17.2 17.5( 1.02) 6.1( 0.35) 7.2( 0.42) 100-pixel wide dashed circle 14.6 15.2( 1.04) 4.3( 0.29) 4.9( 0.34) 100-pixel wide double-dashed circle 6800.0 6940.0( 1.02) 487.0( 0.072) 485.0( 0.071) 10-pixel partial circle 2520.0 2530.0( 1.00) 331.0( 0.13) 348.0( 0.14) 100-pixel partial circle 86600.0 88000.0( 1.02) 1010.0( 0.012) 905.0( 0.010) 1-pixel solid circle 8730.0 8330.0( 0.95) 713.0( 0.082) 699.0( 0.080) 10-pixel solid circle 604.0 543.0( 0.90) 225.0( 0.37) 334.0( 0.55) 100-pixel solid circle 35.0 31.1( 0.89) 21.9( 0.63) 68.5( 1.96) 500-pixel solid circle 3250.0 3390.0( 1.04) 426.0( 0.13) 430.0( 0.13) 10-pixel fill chord partial circle 619.0 581.0( 0.94) 232.0( 0.37) 292.0( 0.47) 100-pixel fill chord partial circle 3180.0 3450.0( 1.08) 412.0( 0.13) 417.0( 0.13) 10-pixel fill slice partial circle 612.0 577.0( 0.94) 206.0( 0.34) 263.0( 0.43) 100-pixel fill slice partial circle 13000.0 12800.0( 0.98) 781.0( 0.060) 779.0( 0.060) 10-pixel ellipse 4270.0 4140.0( 0.97) 410.0( 0.096) 406.0( 0.095) 100-pixel ellipse 1080.0 1040.0( 0.96) 92.3( 0.085) 101.0( 0.094) 500-pixel ellipse 456.0 459.0( 1.01) 83.2( 0.18) 108.0( 0.24) 100-pixel dashed ellipse 332.0 338.0( 1.02) 61.2( 0.18) 90.1( 0.27) 100-pixel double-dashed ellipse 118.0 120.0( 1.02) 769.0( 6.52) 781.0( 6.62) 10-pixel wide ellipse 19.8 18.9( 0.95) 54.2( 2.74) 56.9( 2.87) 100-pixel wide ellipse 4.2 4.1( 0.98) 18.5( 4.40) 26.0( 6.19) 500-pixel wide ellipse 6.9 7.0( 1.01) 7.9( 1.14) 8.7( 1.26) 100-pixel wide dashed ellipse 4.2 4.3( 1.02) 5.6( 1.33) 6.3( 1.50) 100-pixel wide double-dashed ellipse 6460.0 6700.0( 1.04) 510.0( 0.079) 508.0( 0.079) 10-pixel partial ellipse 2870.0 2840.0( 0.99) 382.0( 0.13) 393.0( 0.14) 100-pixel partial ellipse 10500.0 9830.0( 0.94) 714.0( 0.068) 705.0( 0.067) 10-pixel filled ellipse 1010.0 920.0( 0.91) 298.0( 0.30) 386.0( 0.38) 100-pixel filled ellipse 67.7 59.3( 0.88) 37.3( 0.55) 92.9( 1.37) 500-pixel filled ellipse 3400.0 3640.0( 1.07) 442.0( 0.13) 445.0( 0.13) 10-pixel fill chord partial ellipse 1050.0 1030.0( 0.98) 302.0( 0.29) 338.0( 0.32) 100-pixel fill chord ellipse 3460.0 3730.0( 1.08) 427.0( 0.12) 433.0( 0.13) 10-pixel fill slice partial ellipse 1050.0 1020.0( 0.97) 274.0( 0.26) 309.0( 0.29) 100-pixel fill slice ellipse 6220.0 5980.0( 0.96) 2970.0( 0.48) 4970.0( 0.80) Fill 1-pixel/side triangle 3320.0 3200.0( 0.96) 1980.0( 0.60) 5060.0( 1.52) Fill 10-pixel/side triangle 346.0 315.0( 0.91) 284.0( 0.82) 4710.0( 13.61) Fill 100-pixel/side triangle 4010.0 3870.0( 0.97) 2300.0( 0.57) 5030.0( 1.25) Fill 10x10 trapezoid 404.0 364.0( 0.90) 336.0( 0.83) 4750.0( 11.76) Fill 100x100 trapezoid 1330.0 1270.0( 0.95) 1020.0( 0.77) 1240.0( 0.93) Fill 10x10 stippled trapezoid 26.2 24.7( 0.94) 68.3( 2.61) 108.0( 4.12) Fill 100x100 stippled trapezoid 1430.0 1390.0( 0.97) 1100.0( 0.77) 1250.0( 0.87) Fill 10x10 opaque stippled trapezoid 28.4 27.2( 0.96) 67.3( 2.37) 108.0( 3.80) Fill 100x100 opaque stippled trapezoid 1240.0 1210.0( 0.98) 1320.0( 1.06) 1260.0( 1.02) Fill 10x10 tiled trapezoid 21.7 20.8( 0.96) 71.2( 3.28) 211.0( 9.72) Fill 100x100 tiled trapezoid 2260.0 1940.0( 0.86) 1780.0( 0.79) 3160.0( 1.40) Fill 10-pixel/side complex polygon 277.0 257.0( 0.93) 285.0( 1.03) 1160.0( 4.19) Fill 100-pixel/side complex polygons 26100.0 25700.0( 0.98) 25000.0( 0.96) 52900.0( 2.03) Char in 80-char line (6x13) 36900.0 35800.0( 0.97) 30800.0( 0.83) 64400.0( 1.75) Char in 80-char line (TR 10) 11900.0 11700.0( 0.98) 11100.0( 0.93) 41200.0( 3.46) Char in 30-char line (TR 24) 27000.0 26700.0( 0.99) 22500.0( 0.83) 38800.0( 1.44) Char in 20/40/20 line (6x13, TR 10) 48400.0 43600.0( 0.90) 18100.0( 0.37) 41000.0( 0.85) Char in 80-char image line (6x13) 23100.0 22400.0( 0.97) 21800.0( 0.94) 48400.0( 2.10) Char in 80-char image line (TR 10) 7260.0 6860.0( 0.94) 6870.0( 0.95) 26700.0( 3.68) Char in 30-char image line (TR 24) 4890.0 4940.0( 1.01) 808.0( 0.17) 909.0( 0.19) Scroll 10x10 pixels 406.0 248.0( 0.61) 232.0( 0.57) 888.0( 2.19) Scroll 100x100 pixels 19.2 11.0( 0.57) 14.6( 0.76) 137.0( 7.14) Scroll 500x500 pixels 4690.0 4540.0( 0.97) 799.0( 0.17) 891.0( 0.19) Copy 10x10 from window to window 354.0 230.0( 0.65) 125.0( 0.35) 891.0( 2.52) Copy 100x100 from window to window 16.8 10.2( 0.61) 5.7( 0.34) 71.4( 4.25) Copy 500x500 from window to window 5010.0 5350.0( 1.07) 1130.0( 0.23) 1050.0( 0.21) Copy 10x10 from pixmap to window 435.0 404.0( 0.93) 171.0( 0.39) 249.0( 0.57) Copy 100x100 from pixmap to window 20.1 18.2( 0.91) 8.3( 0.41) 13.5( 0.67) Copy 500x500 from pixmap to window 4830.0 4910.0( 1.02) 822.0( 0.17) 767.0( 0.16) Copy 10x10 from window to pixmap 353.0 269.0( 0.76) 123.0( 0.35) 94.9( 0.27) Copy 100x100 from window to pixmap 16.7 12.3( 0.74) 6.1( 0.37) 4.0( 0.24) Copy 500x500 from window to pixmap 5600.0 5940.0( 1.06) 944.0( 0.17) 1050.0( 0.19) Copy 10x10 from pixmap to pixmap 488.0 485.0( 0.99) 167.0( 0.34) 183.0( 0.38) Copy 100x100 from pixmap to pixmap 22.1 22.3( 1.01) 9.2( 0.42) 9.2( 0.42) Copy 500x500 from pixmap to pixmap 4740.0 5120.0( 1.08) 1050.0( 0.22) 1100.0( 0.23) Copy 10x10 1-bit deep plane 436.0 395.0( 0.91) 130.0( 0.30) 641.0( 1.47) Copy 100x100 1-bit deep plane 23.3 21.1( 0.91) 6.7( 0.29) 93.1( 4.00) Copy 500x500 1-bit deep plane 2410.0 2410.0( 1.00) 1320.0( 0.55) 1320.0( 0.55) PutImage 10x10 square 79.0 76.4( 0.97) 57.8( 0.73) 68.8( 0.87) PutImage 100x100 square 3.5 3.5( 1.00) 2.5( 0.71) 3.1( 0.89) PutImage 500x500 square 384.0 395.0( 1.03) 145.0( 0.38) 144.0( 0.38) GetImage 10x10 square 94.4 88.2( 0.93) 22.2( 0.24) 21.3( 0.23) GetImage 100x100 square 4.8 4.4( 0.92) 1.0( 0.21) 1.0( 0.21) GetImage 500x500 square 61200.0 60400.0( 0.99) 65900.0( 1.08) 67500.0( 1.10) X protocol NoOperation 476.0 487.0( 1.02) 341.0( 0.72) 309.0( 0.65) GetAtomName 471.0 499.0( 1.06) 296.0( 0.63) 292.0( 0.62) GetProperty 7970.0 7210.0( 0.90) 4210.0( 0.53) 4630.0( 0.58) Change graphics context 1310.0 1360.0( 1.04) 158.0( 0.12) 134.0( 0.10) Create and map subwindows (4 kids) 1520.0 1550.0( 1.02) 197.0( 0.13) 204.0( 0.13) Create and map subwindows (16 kids) 1550.0 1590.0( 1.03) 211.0( 0.14) 213.0( 0.14) Create and map subwindows (25 kids) 1470.0 1550.0( 1.05) 218.0( 0.15) 219.0( 0.15) Create and map subwindows (50 kids) 1480.0 1480.0( 1.00) 219.0( 0.15) 219.0( 0.15) Create and map subwindows (75 kids) 1460.0 1500.0( 1.03) 209.0( 0.14) 211.0( 0.14) Create and map subwindows (100 kids) 1350.0 1380.0( 1.02) 200.0( 0.15) 200.0( 0.15) Create and map subwindows (200 kids) 3690.0 3570.0( 0.97) 160.0( 0.043) 160.0( 0.043) Create unmapped window (4 kids) 3720.0 3390.0( 0.91) 317.0( 0.085) 315.0( 0.085) Create unmapped window (16 kids) 3700.0 3580.0( 0.97) 308.0( 0.083) 308.0( 0.083) Create unmapped window (25 kids) 3720.0 3610.0( 0.97) 335.0( 0.090) 333.0( 0.090) Create unmapped window (50 kids) 3730.0 3610.0( 0.97) 342.0( 0.092) 340.0( 0.091) Create unmapped window (75 kids) 3700.0 3610.0( 0.98) 343.0( 0.093) 340.0( 0.092) Create unmapped window (100 kids) 3730.0 3600.0( 0.97) 327.0( 0.088) 324.0( 0.087) Create unmapped window (200 kids) 1640.0 1730.0( 1.05) 501.0( 0.31) 550.0( 0.34) Map window via parent (4 kids) 2330.0 2420.0( 1.04) 1330.0( 0.57) 1350.0( 0.58) Map window via parent (16 kids) 2350.0 2570.0( 1.09) 1390.0( 0.59) 1350.0( 0.57) Map window via parent (25 kids) 2450.0 2530.0( 1.03) 1100.0( 0.45) 1100.0( 0.45) Map window via parent (50 kids) 2520.0 2620.0( 1.04) 1020.0( 0.40) 1050.0( 0.42) Map window via parent (75 kids) 2560.0 2640.0( 1.03) 1050.0( 0.41) 1090.0( 0.43) Map window via parent (100 kids) 2590.0 2670.0( 1.03) 921.0( 0.36) 909.0( 0.35) Map window via parent (200 kids) 8900.0 8440.0( 0.95) 2690.0( 0.30) 2850.0( 0.32) Unmap window via parent (4 kids) 19200.0 17800.0( 0.93) 1370.0( 0.071) 1440.0( 0.075) Unmap window via parent (16 kids) 21500.0 20500.0( 0.95) 1530.0( 0.071) 1540.0( 0.072) Unmap window via parent (25 kids) 25100.0 23200.0( 0.92) 1560.0( 0.062) 1470.0( 0.059) Unmap window via parent (50 kids) 26500.0 24000.0( 0.91) 1460.0( 0.055) 1510.0( 0.057) Unmap window via parent (75 kids) 27300.0 25000.0( 0.92) 1460.0( 0.053) 1480.0( 0.054) Unmap window via parent (100 kids) 28500.0 26000.0( 0.91) 1180.0( 0.041) 1210.0( 0.042) Unmap window via parent (200 kids) 1730.0 1820.0( 1.05) 203.0( 0.12) 43.6( 0.025) Destroy window via parent (4 kids) 5580.0 5340.0( 0.96) 41.9( 0.008) 42.4( 0.008) Destroy window via parent (16 kids) 5960.0 6290.0( 1.06) 301.0( 0.051) 298.0( 0.050) Destroy window via parent (25 kids) 7630.0 6380.0( 0.84) 324.0( 0.042) 110.0( 0.014) Destroy window via parent (50 kids) 7950.0 7350.0( 0.92) 341.0( 0.043) 346.0( 0.044) Destroy window via parent (75 kids) 8160.0 7510.0( 0.92) 306.0( 0.037) 334.0( 0.041) Destroy window via parent (100 kids) 8380.0 7670.0( 0.92) 250.0( 0.030) 250.0( 0.030) Destroy window via parent (200 kids) 691.0 761.0( 1.10) 126.0( 0.18) 132.0( 0.19) Hide/expose window via popup (4 kids) 1210.0 1320.0( 1.09) 195.0( 0.16) 220.0( 0.18) Hide/expose window via popup (16 kids) 1310.0 1430.0( 1.09) 243.0( 0.19) 246.0( 0.19) Hide/expose window via popup (25 kids) 1270.0 1480.0( 1.17) 250.0( 0.20) 243.0( 0.19) Hide/expose window via popup (50 kids) 1410.0 1510.0( 1.07) 230.0( 0.16) 233.0( 0.17) Hide/expose window via popup (75 kids) 1380.0 1530.0( 1.11) 220.0( 0.16) 233.0( 0.17) Hide/expose window via popup (100 kids) 1430.0 1530.0( 1.07) 183.0( 0.13) 188.0( 0.13) Hide/expose window via popup (200 kids) 644.0 714.0( 1.11) 130.0( 0.20) 144.0( 0.22) Move window (4 kids) 492.0 526.0( 1.07) 86.7( 0.18) 107.0( 0.22) Move window (16 kids) 429.0 452.0( 1.05) 81.2( 0.19) 73.9( 0.17) Move window (25 kids) 336.0 340.0( 1.01) 41.7( 0.12) 41.9( 0.12) Move window (50 kids) 269.0 286.0( 1.06) 25.8( 0.096) 25.7( 0.096) Move window (75 kids) 207.0 235.0( 1.14) 17.3( 0.084) 17.2( 0.083) Move window (100 kids) 134.0 133.0( 0.99) 5.9( 0.044) 6.0( 0.045) Move window (200 kids) 10100.0 9120.0( 0.90) 2480.0( 0.25) 2260.0( 0.22) Moved unmapped window (4 kids) 10100.0 8840.0( 0.88) 2470.0( 0.24) 2250.0( 0.22) Moved unmapped window (16 kids) 10000.0 8360.0( 0.84) 2460.0( 0.25) 2260.0( 0.23) Moved unmapped window (25 kids) 10000.0 9660.0( 0.97) 2430.0( 0.24) 2240.0( 0.22) Moved unmapped window (50 kids) 9980.0 9120.0( 0.91) 2420.0( 0.24) 2230.0( 0.22) Moved unmapped window (75 kids) 9840.0 9150.0( 0.93) 2430.0( 0.25) 2220.0( 0.23) Moved unmapped window (100 kids) 9670.0 8830.0( 0.91) 2420.0( 0.25) 2210.0( 0.23) Moved unmapped window (200 kids) 2050.0 2070.0( 1.01) 499.0( 0.24) 878.0( 0.43) Move window via parent (4 kids) 4610.0 4180.0( 0.91) 1960.0( 0.43) 2510.0( 0.54) Move window via parent (16 kids) 5400.0 4860.0( 0.90) 2740.0( 0.51) 3960.0( 0.73) Move window via parent (25 kids) 6440.0 5600.0( 0.87) 3920.0( 0.61) 7040.0( 1.09) Move window via parent (50 kids) 6750.0 5820.0( 0.86) 4190.0( 0.62) 10400.0( 1.54) Move window via parent (75 kids) 6780.0 6040.0( 0.89) 4680.0( 0.69) 12100.0( 1.78) Move window via parent (100 kids) 7040.0 6100.0( 0.87) 5110.0( 0.73) 15400.0( 2.19) Move window via parent (200 kids) 613.0 688.0( 1.12) 108.0( 0.18) 85.9( 0.14) Resize window (4 kids) 513.0 563.0( 1.10) 69.6( 0.14) 65.3( 0.13) Resize window (16 kids) 457.0 494.0( 1.08) 53.3( 0.12) 56.4( 0.12) Resize window (25 kids) 369.0 383.0( 1.04) 35.2( 0.095) 35.1( 0.095) Resize window (50 kids) 303.0 328.0( 1.08) 21.9( 0.072) 21.8( 0.072) Resize window (75 kids) 245.0 277.0( 1.13) 17.0( 0.069) 17.0( 0.069) Resize window (100 kids) 165.0 164.0( 0.99) 6.5( 0.039) 6.5( 0.039) Resize window (200 kids) 9340.0 8420.0( 0.90) 623.0( 0.067) 600.0( 0.064) Resize unmapped window (4 kids) 9270.0 8630.0( 0.93) 596.0( 0.064) 500.0( 0.054) Resize unmapped window (16 kids) 9310.0 8620.0( 0.93) 611.0( 0.066) 576.0( 0.062) Resize unmapped window (25 kids) 9210.0 8580.0( 0.93) 616.0( 0.067) 548.0( 0.060) Resize unmapped window (50 kids) 9240.0 8500.0( 0.92) 622.0( 0.067) 532.0( 0.058) Resize unmapped window (75 kids) 9140.0 8590.0( 0.94) 620.0( 0.068) 524.0( 0.057) Resize unmapped window (100 kids) 8910.0 8320.0( 0.93) 560.0( 0.063) 544.0( 0.061) Resize unmapped window (200 kids) 261.0 288.0( 1.10) 89.8( 0.34) 161.0( 0.62) Circulate window (4 kids) 178.0 203.0( 1.14) 74.6( 0.42) 81.7( 0.46) Circulate window (16 kids) 171.0 193.0( 1.13) 73.8( 0.43) 85.1( 0.50) Circulate window (25 kids) 158.0 183.0( 1.16) 92.5( 0.59) 81.3( 0.51) Circulate window (50 kids) 152.0 171.0( 1.12) 82.1( 0.54) 70.9( 0.47) Circulate window (75 kids) 142.0 156.0( 1.10) 67.8( 0.48) 65.2( 0.46) Circulate window (100 kids) 121.0 135.0( 1.12) 54.4( 0.45) 50.5( 0.42) Circulate window (200 kids) 32000.0 31900.0( 1.00) 7430.0( 0.23) 7430.0( 0.23) Circulate Unmapped window (4 kids) 24300.0 25800.0( 1.06) 5750.0( 0.24) 5800.0( 0.24) Circulate Unmapped window (16 kids) 21500.0 21500.0( 1.00) 4880.0( 0.23) 4920.0( 0.23) Circulate Unmapped window (25 kids) 16300.0 15500.0( 0.95) 3540.0( 0.22) 3520.0( 0.22) Circulate Unmapped window (50 kids) 13300.0 12500.0( 0.94) 2730.0( 0.21) 2740.0( 0.21) Circulate Unmapped window (75 kids) 10900.0 10400.0( 0.95) 2240.0( 0.21) 2230.0( 0.20) Circulate Unmapped window (100 kids) 6460.0 6320.0( 0.98) 1130.0( 0.17) 1110.0( 0.17) Circulate Unmapped window (200 kids)