Im Web 2.0 müssen sich Browser zunehmend anspruchsvollen Aufgaben stellen. Komplexe Websites und aufwändige AJAX-Anwendungen fordern immer mehr Leistung. Dabei lassen sich große Unterschiede messen.
(UPDATE 11.2.2010: siehe Fazit
Als Tim Berners-Lee[1] 1991 seinem Arbeitgeber CERN[2] den weltweit ersten Browser WorldWideWeb[3] vorstellte, um den Informationsfluss zwischen den verschiedenen Abteilungen des Europäischen Kernforschungszentrum in Genf optimieren, ahnte er noch nicht, dass er damit eine Revolution im Informationszeitalter auslöste. Kaum eine Anwendung dürfte häufiger auf einem Computer genutzt werden als ein Internet-Browser.
Allerdings haben sich die Aufgaben eines Webbrowsers deutlich gewandelt. Neben der Darstellung von Text und Bild müssen moderne Browser komplette Anwendungen wie auf JavaScript[4], DOM[5] und XML[6] basierende AJAX-Programme[7] beherrschen. Wer AJAX noch nie gehört hat, aber dafür Google Maps[8], Google Mail[9] oder AJAX Write[10] nutzt respektive Internet-Sites wie Flickr[11] oder Last.fm[12] ansurft, macht von dieser Technik bereits intensiven Gebrauch. Auch im Unternehmensumfeld hat AJAX schon Fuß gefasst: 24SevenOneOffice[13] ist eine Lösung für Enterprise Resource Planning[14] (ERP) und Kundenbeziehungsmanagement[15] (CRM), die über einen normalen Webbrowser bedient wird. Und mit Google Wave steht die nächste auf JavaScript basierende Kommunikationslösung in den Startlöchern. Sie soll noch dieses Jahr auf den Markt kommen.
Der Vorteil dieser Web-2.0-Technologien[16] liegt in der Plattformunabhängigkeit. Es wird weder ein spezielles Betriebssystem noch ein bestimmter Prozessor benötigt, um AJAX-Anwendungen ausführen zu können. Lediglich ein kompatibler Browser ist erforderlich.
Durch die gestiegenen Anforderungen rückt die Performance der Browser für die Darstellung von mit neuer Technik gespickten Web-2.0-Anwendungen oder Websites in den Vordergrund. Wer immer noch glaubt, dass nur die Zugangsgeschwindigkeit seines DSL-Anschlusses für die Web-Performance ausschlaggebend ist, täuscht sich gewaltig. Denn die wesentlichen Teile von AJAX-Anwendungen laufen auf dem lokalen Endgerät ab. Bei gleicher Hardwareausstattung ist somit der Browser für die Ausführungsgeschwindigkeit entscheidend. Für AJAX-basierte Unternehmensanwendungen gilt dies natürlich erst recht, da der Code nicht erst aus dem Internet geladen werden muss. In Unternehmen, die auf solche Lösungen setzen, kann die Performance des Browsers die Produktivität der Mitarbeiter unmittelbar beeinflussen.
Um die Performance von Browsern im Umgang mit Web-2.0-Technologien zu testen, verwendet ZDNet.de die Benchmarks iBench 5.0[18], SunSpider JavaScript[19], Futuremark Peacekeeper[20] und Google V8 Version 5[21]. Zusätzliche Tests mit Websites, die für die Darstellung von Bildern das weitverbreitete JavaScript-Plug-in Lightbox verwenden, überprüfen die CPU-Belastung der Browser. Das Laden von fünf statischen Websites (wegen häufig wechselnder Motive würden dynamische Websites mit Werbung reproduzierbare Ergebnisse verhindern) ermittelt den Speicherverbrauch der Kandidaten.
Der iBench ermittelt die Performance der Browser durch Stoppen der Ladezeit von XML-Seiten. Die Webseiten befinden sich auf einem lokalen Webserver. Der SunSpider-JavaScript-Benchmark konzentriert sich voll und ganz auf die Ermittlung der JavaScript-Performance. Hierfür werden aus neun Kategorien[22] wie 3D, Stringverarbeitung, Bitoperationen und Verschlüsselung jeweils mehrere Prozeduren durchgeführt. Um Ungenauigkeiten der einzelnen Prozedur-Durchläufe möglichst gering zu halten, werden die Tests mehrmals durchgeführt.
Google V8 überprüft ebenfalls die JavaScript-Performance. Insgesamt laufen sieben verschiedene Programme ab, aus denen ein Gesamtergebnis generiert wird. Peacekeeper von Futuremark testet die Browser anhand von JavaScript-Code, der von den Sites YouTube, Facebook, Google Mail und Meebo stammt. Aus sechs verschiedenen Tests speist sich das Gesamtergebnis.
Außer iBench sind alle Tests online verfügbar und können von jedem Anwender durchgeführt werden. Selbstverständlich ist auch die Leistungsfähigkeit der Plattformkomponenten für die Browser-Performance von Bedeutung. Im Test kommt ein System mit Intel Core i7 965 3,2 GHz[23], Radeon HD 4890[24] und Gigabyte-Mainboard GA-EX58-DS4[25] zum Einsatz. Der Test der Browser erfolgt mit Windows 7 64 Bit[26] und Mac OS X 10.6.2 Snow Leopard[27].
Für den Browsertest verwendet ZDNet.de aktuelle Versionen (Safari 4.04, Opera 10.10, Internet Explorer 8) und Beta-Versionen demnächst erscheinender Browser (Chrome 4.0.249.30, Firefox 3.6 Beta 4). Wie die Vergangenheit gezeigt hat, sind die Leistungsunterschiede zwischen späten Beta-Varianten und finaler Version vernachlässigbar. Sobald die finalen Version von Chrome 4.0 und Firefox 3.6 vorliegen, werden die Performancedaten aktualisiert.
Links zu den Benchmarks:
- SunSpider JavaScript[19]
- Futuremark Peacekeeper[20]
- Google V8 Version 5[21]
- Webcams St. Moritz[28]
- Webcams Dolomiten[29]
- Acid3-Test[30]
- CSS3-Test[31]
Chrome und Safari schneiden im SunSpider-JavaScript-Benchmark am besten ab. Firefox kann nicht ganz mithalten, platziert sich aber deutlich vor Opera 10.10 und Internet Explorer 8, die in Sachen JavaScript gravierende Schwächen offenbaren. Peacekeeper von Futuremark testet die Browser anhand von JavaScript-Code, der von den Sites YouTube, Facebook, Google Mail und Meebo stammt. Aus sechs verschiedenen Tests speist sich das Gesamtergebnis. Chrome geht als Sieger in diesem Test hervor, gefolgt von Safari und Firefox. Mit einigem Abstand folgt Opera, der sich immerhin deutlich vor dem Internet Explorer 8 platzieren kann. Der Microsoft-Browser zeigt ein weiteres Mal, dass er JavaScript-Code nur sehr langsam verarbeiten kann.
Dass der Internet Explorer Schwächen bei der JavaScript-Performance aufweist, ist inzwischen auch Microsoft aufgefallen. Für die IE-Version 9, die kürzlich auf der PDC demonstriert wurde[32], verspricht der Hersteller Besserung. In anderen Bereichen zeigt sich der IE konkurrenzfähig. Den XML-Test bewältigt nur Safari schneller als der Microsoft-Browser. Dahinter folgen Chrome, Opera und Firefox. Insgesamt ist die Leistungsdichte bei diesem Test sehr hoch, sodass die Unterschiede in der Praxis kaum relevant sein dürften.
Google V8 überprüft ebenfalls die JavaScript-Performance. Aus sieben verschiedenen Einzeltests speist sich das Gesamtergebnis. Dass der Google-Browser beim Google-Benchmark am besten abschneidet, sollte nicht weiter verwundern. Safari schlägt sich achtbar, die restlichen Browser können nicht mithalten.
Kompatibilität und Ressourcenverbrauch
Der Internet Explorer zählt nicht zu den Browsern, die für die Einhaltung von Web-Standards bekannt sind. Das beweisen die beiden Kompatibilitätstests CSS3 und Acid3: Während die Konkurrenten im CSS3-Test sämtliche Aufgaben bestehen, erfüllt der Microsoft-Browser nur 21 von 43 Anforderungen. Die zweite Kompatibilitätsüberprüfung fällt für den IE noch schlechter aus. Während Chrome, Opera und Safari den Acid3-Test zu 100 Prozent bestehen und Firefox 94 Prozent erzielt, erreicht der IE nur 20 Prozent.
Für die Präsentation von Bildern verwenden Entwickler häufig das JavaScript-Plug-in Lightbox oder Abwandlungen wie Lytebox. Die Animation erzeugt vor allem bei der Neupositionierung der Bilderrahmen eine hohe CPU-Belastung. Aufgrund der schlechten JavaScript-Performance belastet der Internet Explorer den Prozessor erwartungsgemäß am höchsten. Zudem zeigt der IE bei manchen Websites ein sonderbares Verhalten. Während mit der Konkurrenz nach Ausführung der rechenintensiven Animation die CPU-Belastung auf 0 sinkt, bleibt sie mit dem IE konstant hoch[28].
Neben der CPU belastet der Internet Explorer von allen Browser auch den Arbeitsspeicher am meisten. Für die Darstellung von fünf statischen Websites ohne Werbeinhalte (wegen häufig wechselnder Motive würde Werbung reproduzierbare Ergebnisse verhindern) belegt der Microsoft-Browser 145,5 MByte. Chrome, Safari und Firefox begnügen sich mit 91,4, 86 und 79 MByte. Opera zeigt sich mit einem Verbrauch von nur 64 MByte am genügsamsten.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Anders als unter Windows verfehlt der Google-Browser im SunSpider-JavaScript-Benchmark den ersten Platz. Allerdings muss er sich nur knapp Safari geschlagen geben. Firefox erreicht mit ein wenig Abstand auf die Spitzenreiter den dritten Platz. Abgeschlagen beendet Opera als letzter diesen Test.
Peacekeeper von Futuremark testet die Browser anhand von JavaScript-Code, der von den Sites YouTube, Facebook, Google Mail und Meebo stammt. Aus sechs verschiedenen Tests speist sich das Gesamtergebnis. Chrome geht als Sieger aus diesem Test hervor, dicht gefolgt von Safari. Firefox folgt mit ein wenig Abstand, während Opera klar die schwächste Performance in diesem Test zeigt.
Im XML-Test erzielt Safari das klar beste Ergebnis. Google Chrome geht als Zweitplatzierter aus diesem Test hervor. Firefox wird Dritter und Opera belegt den letzten Platz. Google V8 überprüft ebenfalls die JavaScript-Performance. Aus sieben verschiedenen Einzeltests speist sich das Gesamtergebnis. Dass der Google-Browser beim Google-Benchmark am besten abschneidet, sollte nicht weiter verwundern. Safari schlägt sich achtbar, Firefox und Opera können bei diesem Test nicht mithalten.
Kompatibilität und Ressourcenverbrauch
In Sachen Kompatibilität liegen die Testkandidaten beim CSS3-Test gleichauf. Sämtliche 43 Aufgaben werden von den Browsern korrekt dargestellt. Die zweite Kompatibilitätsüberprüfung bestehen Chrome, Opera und Safari zu 100 Prozent. Etwas abgeschlagen: Firefox erzielt nur 94 Prozent.
Für die Präsentation von Bildern verwenden Entwickler häufig das JavaScript-Plug-in Lightbox oder Abwandlungen wie Lytebox. Die Animation erzeugt vor allem bei der Neupositionierung der Bilderrahmen eine hohe CPU-Belastung. Mit Chrome liegt die CPU-Belastung bei diesem Test am höchsten. Dann folgen Opera und Firefox, während Safari den Prozessor am wenigsten belastet. Hinweis: Die Werte zur CPU-Auslastung unter Mac OS lassen sich nicht mit denen unter Windows vergleichen, da die Mac-OS-Aktivitätsanzeige die Auslastung der einzelnen Kerne addiert. Bei voll ausgelasteten acht Recheneinheiten des Nehalem-Prozessors errechnet die Aktivitätsanzeige einen Wert von 800 Prozent.
Während Opera unter Windows den Speicher bei fünf geöffneten statischen Websites (wegen häufig wechselnder Motive würde Werbung reproduzierbare Ergebnisse verhindern) am wenigsten belastet, benötigt er unter Mac OS gut doppelt so viel RAM. Mit 90,6 MByte präsentiert sich Safari am genügsamsten, gefolgt von Firefox mit 116,4 MByte. Mit 177,9 MByte belastet Chrome am meisten den Speicher.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Performance ist natürlich nur ein wichtiger Aspekt, der in die Gesamtbeurteilung eines Browser einfließt. Dennoch sollte man in Zeiten moderner Web-2.0-Anwendungen die Priorität dieses Bereichs nicht zu niedrig ansetzen. Vor allem die Leistungen des Internet Explorer sind für ein tadelloses Surferlebnis nicht mehr ausreichend. Das fällt womöglich auf einem High-End-System nicht so sehr ins Gewicht. Besonders Netbook-Anwender, deren Geräte in der Regel mit einem nicht besonders leistungsfähigen Prozessor und relativ wenig Arbeitsspeicher ausgestattet sind, sollten den Blick auf den Ressourcenhunger des Internet Explorer 8 richten und sich für einen leistungsfähigeren Browser entscheiden. Dadurch gelingt der Aufbau von JavaScript-basierten Websites deutlich schneller, und wegen einer niedrigeren CPU-Belastung hält auch der Akku ein wenig länger.
Dass der Internet Explorer Schwächen bei der JavaScript-Performance aufweist, ist inzwischen auch Microsoft aufgefallen. Erst kürzlich hat der Hersteller eine Vorabversion des IE9 präsentiert, die in Sachen JavaScript annähernd die Leistung von Firefox 3.5 erzielt[33].
Neben der Performance sind natürlich auch Kompatibilität, Flexibilität und Bedienung relevant. In Sachen Kompatibilität hängt die Konkurrenz den Internet Explorer ähnlich ab, wie dies bei den Performancetests der Fall ist. Weder im CSS3- noch im Acid3-Test kann der IE mit den Konkurrenten mithalten. Dass Anwender des Microsoft-Browsers in der Praxis trotzdem nicht mit Kompatibilitätsproblemen rechnen müssen, liegt an der Programmierkunst vieler Webentwickler, die wegen der nach wie vor großen Marktmacht des Internet Explorer es sich nicht leisten können, die Fehler des IE einfach zu ignorieren.
Wer sich für die schnellsten Browser entscheidet, muss in Sachen Bedienung einige Nachteile in Kauf nehmen. Safari bietet beispielsweise unter Mac OS keine Änderungsmöglichkeit der Suchmaschine. Auch sind Plug-ins eher rar und von Apple gar nicht gewollt. Auch für die Chrome-Browser stehen kaum Plug-ins zur Verfügung. Zudem sendet Google Chrome für kritische Anwender zu viele Daten an den Internet-Konzern.
Geht es um Kompatibilität in Verbindung mit Usablity, hinterlässt Firefox den eindeutig stärksten Eindruck. Dank seiner offenen Architektur steht eine Vielzahl von Plug-ins zur Verfügung, die den Mozilla-Browser um sinnvolle Funktionen erweitern. Auch wenn Firefox nicht den ersten Platz in der Performancewertung belegt, bietet er, anders als etwa der Internet Explorer, trotzdem noch eine gute Performance und steht daher auch zu Recht in der Gunst vieler Anwender.
(UPDATE 11.2.2010)
Inzwischen gibt es von Mozilla, Google und Opera neue Browser-Versionen. Die Benchmarkcharts sind entsprechend aktualisiert. Dort finden sich nun auch Ergebnisse zu den finalen Versionen von Firefox 3.6 und Chrome 4.0. Die Performance-Werte von Opera 10.50 (Beta) und der Developer-Preview von Chrome 5.0 komplettieren den Benchmark-Reigen. Besonders Opera 10.50 hat gegenüber der Vorgängerversion 10.10 deutlich an Tempo zugelegt und kann sich bei den Benchmarks im Spitzenfeld platzieren. Im SunSpider-Test liegt er sogar ganz vorne. Bei den anderen Java-Script-Tests muss er sich nur der Developer-Version Chrome 5.0 geschlagen geben.
In Sachen Kompatibilität gibt es hingegen nichts neues zu berichten. Der IE hält nur wenige Web-Standards ein, während die Konkurrenz deutlich besser abschneidet.
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = http:/
[13] = http:/
[14] = http:/
[15] = http:/
[16] = http:/
[17] = http:/
[18] = http:/
[19] = http:/
[20] = http:/
[21] = http:/
[22] = http:/
[23] = http:/
[24] = http:/
[25] = http:/
[26] = http:/
[27] = http:/
[28] = http:/
[29] = http:/
[30] = http:/
[31] = http:/
[32] = http:/
[33] = http:/















