Email: mailto:schmidt@kabelleipzig.de
X11-Performance-Test mit verschiedenen gcc Optimierungen
Durch eine Diskussion im GaosChat ist die Idee entstanden, die Performance von Programmen zu vergleichen, die mit verschiedenen Optimierungen des gcc's kompiliert wurden.
Eingesetzte Hardware/Software
- Intel Celeron 700MHz
- 384 MB SD RAM
- Slackware 9.0
- Kernel 2.6.2
- XFree86 4.3
- gcc 3.2.3
Ergebnisse von x11perf (Auszüge)
Standard Slackware 9.0 X-Server
gcc -O3 -funroll-loops -fomit-frame-pointer -mcpu=pentium3
gcc -Os -mmmx -fomit-frame-pointer -ffast-math -mcpu=pentium3
Erläuterung:
- Die Zahlen stehen für n Objekte / Sekunde
- Die Zahl in Klammern gibt den relativen Bezug zu den Ergebnissen des ersten X-Servers (1) an
Eine genauere Beschreibung der Operationen findet man mit man x11perf
1 |
2 |
3 |
Operation |
2060000.0 |
1890000.0 (0.92) |
4630000.0 (2.25) |
Dot |
1320000.0 |
1380000.0 (1.05) |
1360000.0 (1.03) |
1x1 tiled rectangle (17x15 tile) |
247.0 |
266.0 (1.08) |
263.0 (1.06) |
500x500 tiled rectangle (161x145 tile) |
1780.0 |
981.0 (0.55) |
987.0 (0.55) |
100-pixel wide double-dashed circle |
527000.0 |
562000.0 (1.07) |
518000.0 (0.98) |
10x1 wide horizontal line segment |
23100.0 |
21900.0 (0.95) |
24300.0(1.05) |
10-pixel wide partial circle |
6620000.0 |
4820000.0 (0.73) |
6680000.0 (1.01) |
1-pixel solid circle |
22200.0 |
22200.0 (1.00) |
24600.0 (1.11) |
10-pixel wide partial ellipse |
1360.0 |
1530.0 (1.12) |
1450.0 (1.07) |
Fill 100x100 aa pre-added trapezoid |
141.0 |
155.0 (1.10) |
144.0 (1.02) |
Fill 100x100 aa trapezoid |
641.0 |
622.0 (0.97) |
568.0 (0.89) |
PutImage 100x100 square |
5890.0 |
5320.0 (0.90) |
5990.0 (1.02) |
GetImage 10x10 square |
0.5 |
0.5 (1.00) |
0.4 (0.80) |
GetImage XY 500x500 square |
16100.0 |
14400.0 (0.89) |
16100.0 (1.00) |
|
313000.0 |
416000.0 (1.33) |
411000.0 (1.31) |
Unmap window via parent (75 kids) |
8670.0 |
5810.0 (0.67) |
7050.0 (0.81) |
Move window (200 kids) |
12900.0 |
9940.0 (0.77) |
12700.0 (0.98) |
Circulate window (100 kids) |
193000.0 |
218000.0 (1.13) |
224000.0 (1.16) |
Destroy window via parent (200 kids) |
Ich habe hier nur einen kleinen Teil des Outputs von x11perfcomp (Original 363 Lines) gepostet, wo auch wirklich Unterschiede zu sehen sind.
