Der BYTEmark wurde 1990 von der Computerzeitschrift BYTE entwickelt, mit Version 2 folgte 1995 auch eine Portierung auf die PowerPC-Plattform. Das kleine Programm bearbeitet einige rechenintensive Aufgaben (Subtests) und soll somit zeigen, welcher Rechner wie schnell ist im Vergleich zu anderen Maschinen. BYTEmark wurde für das MacOS, DOS, Windows 3.x, Windows 95/98 und NT (Intel, MIPS, DEC Alpha) entwickelt und erlaubt damit auch den plattform-übergreifenden Vergleich. |
The BYTEmark was developed in the year 1990 by (for?) the BYTE computer magazine, version 2 appeared 1995 bringing the benchmark to the PowerPC plattform too. A small program does some number crunching tasks (subtests) and tells you how fast your machine runs compared to others. BYTEmark was developed for the MacOS, DOS, Windows 3.x, Windows 95/98 and NT (Intel, MIPS, DEC Alpha), so it gives you the possibility to compare between the plattforms. |
Apple fügt seit ihren Werbespots mit dem Motto "Up to twice as fast" den Presseberichten zu neuen Macs auch die aktuellen BYTEmark Integer-Werte bei - der Mac lässt die Intel-Konkurrenz hier ziemlich langsam aussehen. Aber ist ein Benchmark aus dem Jahre 1995 heute überhaupt noch angemessen? Kann man mit einem vier Jahre alten Testprogramm überhaupt noch einigermassen brauchbare Ergebnisse erhalten, wo doch die Computerindustrie so schnelle Fortschritte macht und die Architektur der Rechner ständig erweitert? Man denke da an Cache, Backside-Cache, MMX, AltiVec usw. |
Since Apple started with their "Up to twice as fast" commercials they also publish the BYTEmark integer score on the press release of new Macs - and they really leave the Intel based machines in the dust. But could you still use a four years old program to measure todays machines performance? Don't forget the computer industry does big steps in development and there are always new architecture features to appear, like the cache, backside cache, MMX, AltiVec, ... |
Werfen wir einen Blick vier Jahre zurück, und sehen wir uns die damaligen Hardwarespezifikationen im Vergleich zu heute an: |
Let's have a look back in time four years, we're comparing that times hardware specifications with todays: |
|
Neben der offensichtlichen Erhöhung des CPU-Takts hat auch der Systembus - wenngleich deutlich schwächer - mitgezogen und L1 sowie L2-Cache sind grösser geworden. Das L2-Cache wird heutzutags ausserdem nicht mehr nur mit Bus- sondern mit halber oder ganzer Prozessorgeschwindigkeit betrieben, was einen deutlichen Einfluss auf die Rechenleistung ausübt (Backside-Cache; der PowerPC erlaubt eigentlich die Verhältnisse 1:1, 3:2, 2:1, 5:2 und 3:1). |
The CPU clock speed climbed and so did the bus speed (but less percent compared to the CPU), and the L1 and L2 caches have become bigger. The L2 cache does not run at bus speed anymore, now its clock rate is half or full processor speed (backside cache; actually the PowerPC supports the ratios 1:1, 3:2, 2:1, 5:2 and 3:1). |
Wenn der BYTEmark diesen Entwicklungen Rechnung tragen will, dann muss er unterschiedliche Ergebnisse aufzeigen, abhängig von der Taktrate von Prozessor, Bus und Cache und je nach Cachegrösse. Gehen wir dieser Frage nach, indem wir eine G3-Karte unterschiedlich konfigurieren: |
If the BYTEmark is used to show the performance of todays machines it has to take care of different processor, bus and cache speeds as well as the cache size might influence the results. We followed this question using a differently configured G3 processor card: |
BYTEmark @ G3 Configurations | ||||||
CPU MHz | Bus MHz | L2 kB | L2 MHz | BYTEmark int | BYTEmark fp | Comment |
300.0 | 50.0 | 1024k | 150.0 | 9.73 = 100.0% | 6.56 = 100.0% | Standard |
300.0 | 50.0 | 1024k | 200.0 | 9.75 = 100.2% | 6.58 = 100.3% | L2-Cache 3:2 |
300.0 | 50.0 | 512k | 150.0 | 9.72 = 99.9% | 6.56 = 100.0% | L2-Cache 512k |
300.0 | 50.0 | --- | --- | 8.80 = 90.4% | 4.71 = 71.8% | No L2-Cache |
300.0 | 40.0 | 512k | 150.0 | 9.73 = 100.0% | 6.56 = 100.0% | Bus 40 MHz |
300.0 | 40.0 | 2048k | 150/40 | 9.72 = 99.9% | 6.56 = 100.0% | L2-Cache 1MB & L3-Cache 1MB |
300.0 | 40.0 | 1024k | 40.0 | 9.26 = 95.2% | 5.41 = 82.5% | L2-Cache 40 MHz (Onboard, Bus-Speed) |
Power Macintosh 8500, Met@box joeCARD 400 @300MHz, MacOS 8.5.1 | ||||||
Hinweis: Durch die Heruntertaktung der 400er-Karte auf 300 MHz läuft das Cache beim 3:2-Taktverhältnis mit Nominalgeschwindigkeit (200 MHz) | Note: We downclocked the 400 MHz card to 300 MHz, this way the cache runs at its rated speed of 200 MHz when set to 3:2 ratio |
Was zeigen die Resultate? Es scheint keine Rolle zu spielen, ob das Backside-Cache 1MB oder nur 512k gross ist. Auch die Cache-Geschwindigkeit hat kaum einen Einfluss auf das Ergebnis des BYTEmarks, ebensowenig die Taktrate des Systembusses. Der BYTEmark reagiert also ziemlich unsensibel auf unterschiedliche Hardwarekonfigurationen, die gemessenen Unterschiede liegen - mit einer Ausnahme - auf Promille-Ebene und sind damit zu vernachlässigen. |
What do these results show us? The size of the backside cache does not seem to play any role, same scores for 512k and 1MB. Even the cache speed doesn't influence the BYTEmark score, neither does the bus speed. The BYTEmark does react unspecific on different hardware configurations. The differences are on a per mille level - ignore them. There's only one exception: |
Einen Effekt erhält man erst, wenn man dem Prozessor das Backside-Cache abschaltet oder stattdessen nur das relativ langsam arbeitende Onboard-Cache der ersten und zweiten PowerMac-Generation einsetzt (was man generell nicht tun sollte). Der BYTEmark-Index wird hierdurch aber dennoch nur um 5 bzw. 10% beeinträchtigt, was gegenüber dem schnellen Backside-Cache kaum ein Nachteil ist und die Existenz des teuren Caches kaum rechtfertigen würde. Zwar reagiert der Floating-Point-Index mit einer Verlangsamung um 18 bzw. 28%, FP-Berechnungen beanspruchen aber auch bei intensiv auf die FPU zugreifenden Applikationen (z. B. Rendering) nur einen kleinen Teil der Gesamtrechenzeit und sind somit kein sinnvoller Massstab für "übliche" Anwendungsprogramme. |
The only thing to affect the result (the BYTEmark) is to disable the backside cache, or to run with the relatively slow onboard cache used in the 1st and 2nd PowerMac generations (which is not recommended). This way the BYTEmark takes 5 or 10% longer to complete - which is quite not much longer than running with the fast backside cache, and this would not be a reason to put expensive cache chips in todays machines. Note that the floating point part of the test takes 18 or 28% longer when running with onboard or no cache, but fp-calculations make only a small part even in applications that use the FPU intensively (like rendering), so they do not give you a good prediction on how fast your applications will really run. |
Real World Tests mit denselben Rechnerkonfigurationen zeigen, dass die Geschwindigkeit des Systembusses bei Macs mit Backside-Cache in der Tat kaum noch einen Einfluss auf die Systemleistung hat - dies war bei PowerMacs der ersten und zweiten Generation noch anders, weil dort das Cache mit derselben Geschwindigkeit betrieben wurde. Auch die Grösse des Caches (512k vs. 1MB) übt in diesen Tests nur einen geringen, aber dennoch deutlichen Einfluss aus (mehr als die 0.1% beim BYTEmark). Dasselbe gilt für die Cachegeschwindigkeit (Verhältnis 2:1 vs. 3:2), bei welcher der BYTEmark nur 0.2 bis 0.3% schneller durchlaufen wird. Ohne Cache bricht die Leistung in den Real World Tests teilweise dramatisch zusammen (bis 56%). Diese Werte schwanken natürlich von Anwendung zu Anwendung teilweise erheblich. |
Real World tests run at the same machine configurations showed that the system bus speed really plays no role anymore in Macs with backside cache - the bus speed affected performance in 1st and 2nd generation PowerMacs because the cache was clocked at this speed too. The size of the cache (512k vs. 1MB) does impact performance in your daily applications - not very much but more than the 0.1% showed with BYTEmark. The same holds for the cache speed (2:1 vs. 3:2), where the BYTEmark is finished only 0.2 to 0.3% faster with higher cache clock. Running with no cache the performace drops dramatically in Real World tests (56% less). Of course these results may vary depending on the application you run. |
Welche Subtests? Der BYTEmark verwendet in einem Subtest Bitfields (als Anlehnung an das Disk Usage Bitmapping des Betriebssystems). Der PowerPC-Prozessor erledigt diesen Subtest im Vergleich zur Intel-Konkurrenz rund fünf Mal schneller (28.59 vs. 5.72 Punkte), was den Gesamt-Index natürlich deutlich beeinflusst. Hier zeigt sich die Problematik der Auswahl von Subtests. Je nachdem, welche Aufgaben man in den Benchmark einbaut, erhält man einen anderen Gesamt-Index.
|
Which subtests? The BYTEmark uses Bitfields in one subtest to simulate disk usage bitmapping of the operating system. The PowerPC processor performs this task five times faster than the Intel Pentium II running at the same speed (28.59 vs. 5.72 points), and this really influences the total index. This shows how problematic it is to compile several subtests to a good overall-benchmark. The overall index depends strongly on the tasks you choose.
|
BYTEmark & Bitfields | ||||
Prozessor | MHz | BYTEmark int | BYTEmark fp | Comment |
PowerPC G3 | 300 | 10.15 | 6.57 | Bitfields tested |
Pentium II | 300 | 4.21 | 4.84 | Bitfields tested |
PowerPC G3 | 300 | 6.29 | 6.56 | Bitfields excluded |
Pentium II | 300 | 3.28 | 4.84 | Bitfields excluded |
Quelle * Source: BYTE |
Compiler-Einfluss: Für das MacOS sind mindestens drei unterschiedliche BYTEmark-Varianten im Umlauf, die sich durch das Optimierungsverfahren der Compiler unterscheiden. Die besseren Ergebnisse erzielt man mit der DR/3-Variante, deren Resultate übrigens auch von Apple publiziert werden. Ein mit dem sehr "aggressiven" MR-C-Compiler (*) erstelltes Programm soll noch weitaus höhere Werte liefern, was wir mangels Verfügbarkeit dieses Programms leider nicht nachprüfen konnten. Die folgende Tabelle zeigt, dass ein PowerMac 8600/200 den Integer-Teil des BYTEmarks genauso schnell durchläuft wie ein 400 MHz schnelles G3-Upgrade (joeCARD) - nur durch Einsatz eines anderen Kompilats: |
Compiler influence: There are at least three different BYTEmark executables available for the MacOS. Using the DR/3 program you get better scores, Apples published scores were measured with exactly this executable. There seems to be a third, very "aggressive" MR-C compiler (*) program available that scores even much higher. We haven't got this executable and cannot tell if this really applies. Have a look at the following table, the PowerMac 8600/200 finishes the BYTEmark integer subtests as fast as a 400 MHz G3 upgrade (joeCARD) - only by using a different executable: |
(*) MR-C-Compiler: Macintosh Programmers Workshop (MPW)
|
BYTEmark & Compiler | ||||
Computer | CPU | BYTEmark int | BYTEmark fp | Comment |
PowerMac G3/350 | G3/350 | 6.95 | 5.16 | ? Compiler |
PowerMac G3/350 | G3/350 | 11.23 | 7.58 | DR/3 Compiler |
joeCARD 400 | G3/400 | 8.30 | 5.97 | ? Compiler |
joeCARD 400 | G3/400 | 13.28 | 8.76 | DR/3 Compiler |
8600/200 | 604e/200 | 13.24 | 4.63 | MR-C Compiler |
Fazit: Es ist gefährlich, die allgemeine Leistung eines Computers mit nur einem einzigen zusammengewürfelten synthetischen Test zu messen. Es ist noch gefährlicher, dies mit einem veralteten Benchmark zu erledigen, besonders wenn dieser Test sehr compiler-abhängig ist. Aus diesen Gründen sollte man Beurteilungen aufgrund des BYTEmarks mit Vorsicht geniessen.
|
Summary: It's dangerous to measure a computers overall performance using only one synthetic test collection. It's even more dangerous to measure this with a (four years) old test. You also have to think about compiler optimization when looking at BYTEmark scores.
|
10. Mai 1999 - Sven Negrassus | |
Additional: | |
Letzte Änderung * Last Update: Mittwoch, 26. Mai 1999 |