.: Daniel Melanchthon :.

Banging your head against a wall uses 150 Calories an hour.

Internet Explorer 9 Platform Preview 7 mit neuem Geschwindigkeitsrekord!

Internet Explorer 9 Platform Preview 7 mit neuem Geschwindigkeitsrekord!

  • Comments 6
  • Likes

Nur drei Wochen nach der Veröffentlichung von Internet Explorer 9 Platform Preview 6 (IE9 PP6) auf der PDC legt Microsoft heute mit der Platform Preview 7 (PP7) nach. Wir veröffentlichen neue Platform Preview-Versionen immer dann, wenn wir größere Schritte in der Weiterentwicklung von Internet Explorer 9 erreicht haben. Mit PP7 haben wir jetzt weitere, signifikante Geschwindigkeitsverbesserungen insbesondere im Hinblick auf die Performance unserer JavaScript-Engine “Chakra” implementiert.

IE9 Platform Preview 7 herunterladen

Microsoft legt bei der Weiterentwicklung des Internet Explorers schon seit langem Wert auf die Geschwindigkeit beim Darstellen echter Webseiten. Die JavaScript-Engine ist zwar nur eines von vielen Subsystemen eines Browsers, die in Summe das Geschwindigkeitserlebnis des Internetnutzers beeinflussen. Die Messung der JavaScript-Geschwindigkeit mit synthetischen Benchmarks ist jedoch sehr populär und wird von vielen fälschlicherweise als alleiniger Gradmesser für die Beurteilung der Gesamtgeschwindigkeit eines Browsers benutzt.

Die Geschwindigkeit wird jedoch von vielen weiteren Dingen beeinflusst, die jenseits der einzelnen Browsersubsysteme liegen. Wie gut schützt ein Browser Internetnutzer vor langsamen Add-Ins? Vor schlecht entwickelten Webseiten, die zum Crash neigen? Wie sehr integriert ein Browser Webanwendungen zukünftig in das Betriebssystem? Muss man erst den Browsers starten und zu der gewünschten Webseite navigieren oder kann man Webseiten direkt an die Startleiste anzuheften und mit einem Klick auf die Webseite wechseln? Die Geschwindigkeitsvorteile, die man durch die Nutzung des Grafikprozessors zur Hardwarebeschleunigung sowie mehrerer Prozessorkerne moderner Multi-Core-CPUs erzielen kann, sind immens.

Geschwindigkeit für echte Webseiten

Echte Webseiten nutzen JavaScript, um zum Beispiel Benutzereingaben zu verarbeiten, Zeichenketten zu manipulieren oder Objekte auf dem Bildschirm zu steuern und zu bewegen. Wir konzentrieren uns daher bei der Weiterentwicklung unabhängig von synthetischen Benchmarks besonders auf die am häufigsten verwendeten Funktionen von echten Webseiten. Im Rahmen der Internet Explorer 9 Platform Preview-Veröffentlichungen haben wir deshalb eine Test Drive-Seite unter www.ietestdrive.com bereitgestellt. Diese Test Drive-Seite umfasst Webseiten und Anwendungen, die insbesondere Funktionen, die in echten Webseiten oft genutzt werden, in einem realistischen Szenario darstellt.

Diese Seiten zeigen besonders deutlich die Unterschiede zwischen aktuellen Browsern wie zum Beispiel in der letzten Beta 7 von FireFox 4 oder einer aktuellen Version von Google Chrome. Man sieht dabei die Unterschiede im Zusammenspiel aller Subsysteme eines Browsers. Welche Geschwindigkeit am Ende des Tages auf realistischen Webseiten zu erwarten ist, kann man darüber viel besser beurteilen als als das alleinige Messen der Geschwindigkeit einzelner Subsysteme mit Microbenchmarks es erlaubt.

Wir haben mit der Veröffentlichung von IE9 PP7 neue Beispiele hinzugefügt:

  • In Shakespeare’s Tag Cloud kann man die Geschwindigkeitsvorteile von kompiliertem JavaScript und ECMAScript5 bei scriptintensiven Operationen sehen. IE9 kann viel schneller eine sehr große Menge an Text zu einer Tag Cloud verarbeiten.
  • ECMAScript5 kombiniert mit HTML5 Canvas ermöglicht ein HTML5 Sudoku Lösungsprogramm, mit dem IE9 PP7 derartige Rätsel viel schneller lösen kann als andere Browser.
  • Mit Galaxy kombinieren wir die schnelle Ausführung von JavaScript mit Hilfe der hardwarebeschleunigten Grafikausgabe zu einer interaktiven 3D Experience. Die Bildwiederholrate ist dabei in IE9 PP7 viel höher als bei allen anderen existierenden Browsern.
Geschwindigkeitsrekord mit IE9 im Sunspider Benchmark

Trotzdem werden Webbrowser am häufigsten durch einen Microbenchmarks bewertet: Webkit SunSpider. Wir haben seit der Vorstellung unsere neue JavaScript-Engnie “Chakra” daher jedes Mal auch die Steigerung der Geschwindigkeit veröffentlicht, die wir bei diesem vielzitierten Benchmark errreichen. Gegenüber der ersten veröffentlichten Version von “Chakra” beschleunigten wir IE9 um 345%. Wir holten nicht nur Firefox 3 und 4 ein, sondern sind heute mit IE9 PP7 die #1 in Sachen JavaScript Performance im Webkit SunSpider-Test.

SunSpider_Benchmark 

Mittlerweile liegen die Unterschiede zwischen den einzelnen Browsern in diesem Microbenchmark nur noch im Bereich von Microsekunden. Das ist viel kürzer, als ein einzelner Wimpernschlag. Man muss die Tests schon viele, viele Male wiederholen, um überhaupt noch Unterschiede messen zu können. IE9 erreicht die deutlichen Performanceverbesserungen insbesondere durch einen optimierenden JavaScript Compiler, welcher JavaScript in native Maschinensprache umsetzt und dabei optimiert. Optimierungen können für viele Code-Muster Performancegewinne bis zum 100fachen der ursprünglichen Geschwindigkeit ermöglichen. Derartige Compilertechniken werden bisher zum Beispiel von C++ Entwicklern für native Windows-Anwendungen benutzt. Mit IE9 PP7 können zukünftig Webentwickler auch optimiert kompiliertes JavaScript nutzen.

Nun wird vorgeschlagen, diesen Benchmark als obsolet anzusehen und auf die Entwicklung neuerer Microbenchmarks zu setzen. Gerade als aktueller “Gewinner” in diesem Benchmark möchten wir die Gelegenheit nutzen, um an dieser Stelle wieder auf unsere Position hinzuweisen, dass synthetische Benchmarks der Subsysteme kein geeigneter Weg sind, generelle Aussagen über die Geschwindigkeit eines Browsers bei echten Webseiten zu machen. Sie helfen Entwicklern bei der Beurteilung der einzelnen Komponenten - sie sagen aber nichts aus über das Verhalten eines Browsers bei der täglichen Nutzung. Wenn man sich zu sehr an Microbenchmarks orientiert, kann das möglicherweise auch zu einer ungesunden Form des Wettbewerbs führen, bei dem es nur noch darum geht, ein Produkt auf bessere Benchmarkergebnisse hin zu optimieren.

Diesen Weg halten wir für falsch. Das Beurteilen eines Browsers anhand der Messungen eines Subsystems allein ist zu ungenau und kann daher kontraproduktiv sein. Es entspricht auch nicht dem Verhalten von echten Webseiten und bietet daher keinen Mehrwert.

IE9 verbindet jetzt die schnellste JavaScript-Performance mit branchenführenden Innovation rund um die Hardwarebeschleunigung im Browser. Die Vorteile von IE9 liegen in seinem einzigartigem Ansatz:

  • Optimieren auf die Hardware vs. Abstrahieren der Hardware durch Softwarelayer
    • Nutzen aller Vorteile, die moderne Hardware unter Windows bietet.
    • Massiver Geschwindigkeitsvorteil im Vergleich zu anderen Browsern, die jetzt anfangen, die Idee von Hardwarebeschleunigung auch zu adaptieren  (Firefox & Chrome).
  • Fokussieren auf echte Szenarien, nicht auf Microbenchmarks
    • Verstehen der Muster echter Webseiten.
    • Sicherstellen der besten Zusammenarbeit aller Subsysteme eines Browsers.
Geschwindigkeit + Webstandards + Dynamik = Neue Möglichkeiten für Entwickler

Diese Fortschritte bei der Geschwindigkeit eines Browsers nützt Entwicklern und am Ende des Tages Endanwendern gleichermaßen. Entwickler können zukünftig durch die Unterstützung von den neuen, sich gerade etablierenden Webstandards mit IE9 darauf setzen, Code nur noch einmal schreiben zu müssen, der dann auf allen aktuellen Browsern läuft. IE9 ist unser am schnellsten vom Markt angenommene Webbrowser mit mittlerweile über 13 Millionen Downloads in nur 2 Monaten.

Daher der Aufruf an alle Webentwickler: Wer noch nicht mit IE9 Beta an Bord gegangen ist, sollte jetzt bei der neuen Platform Preview den Zug nicht verpassen!

  1. Holt das Beste aus der Unterstützung von Internet Explorer 9 mit HTML5, CSS3, SVG, DOM, ES5 und mehr heraus.
  2. Schaut Euch das Entwicklerhandbuch für IE9 an! Vermeidet Browserweichen, die auf Versionsnummern basieren und testet auf die benötigten Funktionen!
  3. Testet Eure Seiten in IE9 Standards Mode für die beste Performance und Interoperabilität und nutzt mit nur wenigen Zeilen Code die Vorteile für Eure Webseiten in Windows 7 mit der Integration in die Taskbar und die Nutzung von Sprunglisten!

Auf www.internet-explorer9.de stellt Microsoft eine Produktübersicht zur Verfügung. Weiterführende Informationen rund um den Internet Explorer 9 finden Administratoren auf Microsoft TechNet und Entwickler auf MSDN.

Daniel Melanchthon
Senior Technology Evangelist
Microsoft Developer & Platform Evangelism Group (D&PE)

Comments
  • Hi,

    wann werden diese Verbesserungen/Erweiterungen in eine neue Beta zusammengeführt. Ich denke, es wäre Zeit für eine neue Beta, zumindest noch in diesem Jahr.

  • Die demnächst erscheinende Release Candidate-Version wird die Verbesserungen mit der GUI zusamenführen. Wenn Du bis dahin nicht warten wilst und ein wenig kreativ veranlagt bist, kannst Du Dir aber mit der Beta und der PP7 eine Superbeta selbst zusamenbauen: blogs.technet.com/.../howto-internet-explorer-9-super-beta.aspx Hat zwar ein paar Ecken und Kanten, funktioniert aber erstaunlicherweise ganz gut.

    VG, Daniel

  • Wie ernst ist in diesem Zusammenhang der Inhalt unter digitizor.com/.../internet-explorer-9-caught-cheating-in-sunspider-benchmark zu nehmen?

  • Hallo Steffen,

    die Website digitizor.com erhebt den Vorwurf, wir hätten beim SunSpider-Benchmark "geschummelt". Der Untertest "cordic" werde so schnell ausgeführt, dass mit der Chakra-Engine etwas nicht stimmen könne. Ich hatte schon in dem Artikel dazu geschrieben:

    „IE9 erreicht die deutlichen Performanceverbesserungen insbesondere durch einen optimierenden JavaScript Compiler, welcher JavaScript in native Maschinensprache umsetzt und dabei optimiert. Optimierungen können für viele Code-Muster Performancegewinne bis zum 100fachen der ursprünglichen Geschwindigkeit ermöglichen. Derartige Compilertechniken werden bisher zum Beispiel von C++ Entwicklern für native Windows-Anwendungen benutzt. Mit IE9 PP7 können zukünftig Webentwickler auch optimiert kompiliertes JavaScript nutzen.“

    ZDNet.de hat in seinem Artikel diesen Vorwurf untersucht und schreibt in dem Artikel IE9 Platform Preview 7 soll bei Benchmarks schummeln dazu:

    „Ein Blick in den Sourcecode zeigt jedoch, dass Microsoft nichts vorzuwerfen ist. Es handelt sich um einen Bug im Benchmark-Code, der dazu führt, dass der Internet Explorer anders als Chrome und Firefox den Hauptteil dieses Tests gar nicht ausführt.Das muss er auch nicht, denn der Optimizer stellt fest, dass das Ergebnis der Berechnung für den weiteren Programmablauf nicht benötigt wird und kompiliert den Code daher konsequenterweise erst gar nicht. Das Entfernen von sogenanntem "Dead Code" ist eine Kernaufgabe des Optimizers.“

    IE9 ist aber auch, wenn man den "cordic"-Test so verändern würde, dass wir dort ähnlich viel Zeit brauchen wie der Rest, nur 20 bis 25 Millisekunden langsamer, was nicht ausreicht, um den IE9 von Platz eins zu verdrängen.

    Interessant ist aber, dass die Information, aus der digitizor.com seine Informationen bezieht, schon mehr als zwei Monate alt ist und das "Problem" völlig anders darstellt. Die sensationsheischende Überschrift hat digitizor.com gestern schon zurücknehmen müssen ("We have changed the title of the story as some commentators have rightly pointed out the previous one was too biased").

    Viele Grüße,
    Daniel

  • Siehe auch Artikel "Browser-Debatte: Hat Microsoft geschummelt?" unter: www.heise.de/.../Browser-Debatte-Hat-Microsoft-geschummelt-1138758.html

    u.a.

    1.) Sayre kritisiert Microsofts Implementierung der Dead Code Elimination als unzuverlässig und unvollständig.

    2.) Dieses Ergebnis ließ sich bei den anderen Tests jedoch nicht stützen: Bei V8 und SlickSpeed siegt Chrome, bei Peacekeeper Opera und bei Speed-Battle Safari. IE9 PP7 liegt bei V8, SlickSpeed und Peacekeeper jeweils auf dem vorletzten Platz vor Firefox

    und insgesamt: JavaScript-Geschwindigkeit nur ein kleiner Aspekt der Browser-Performance sei und dass Tests wie SunSpider "nicht sehr nützlich und schlimmstenfalls irreführend" seien. Ähnlich unzufrieden mit den Benchmarks äußerte sich kürzlich übrigens auch Mozillas Chefentwickler Brendan Eich.

    Das "Problem" an IE 6,7 und 8 ist nicht die Geschwindigkeit, sondern die Sicherheit und die Standardkomformität, Herr Melanchton!

  • Hallo Laeppie,

    ich habe oben schon geschrieben, dass es nicht sinnvoll ist, SunSpider durch andere, synthetische Benchmarks wie Kraken (Mozilla), V8 (Google) oder ähnliche zu ersetzen, nur weil man mit SunSpider Unterschiede nur noch im Millisekundenbereich messen kann. Heise macht aber genau diesen Fehler in seinem Artikel. Sinnvoller wäre es, das Geschwindigkeitsverhalten der Browswer auf echten Webseiten zu untersuchen. Denn am Ende zählt für den Benutzer nicht die isolierte Geschwindigkeit einzelner Subsysteme des Browsers, die Geschwindigkeit des Gesamtsystems auf echten Webseiten.

    Genau das ist es, worüber ich oben geschrieben habe. Ich hatte Dir ja schon des öfteren webvizbench.com genannt. Auf ietestdrive.com findest Du ebenfalls viele Beispiele zum Testen der Geschwindigkeit der Browser in echten Szenarien.

    Bei dem Verweis auf den Heise-Artikel unterschlägst Du bestimmt ohne Absicht die Zusammenfassung: "Allerdings liegen die Resultate dicht beisammen. Die Schlussfolgerung kann nur lauten: Eine eindeutig schnellste JavaScript-Engine gibt es derzeit nicht." Und das bedeutet eben, dass man allein aufgrund der JavaScript-Leistung keine absolute Performancebeurteilung über einen Browser treffen kann. Die Beispiele auf webvizbench.com und ietestdrive.com zeigen jedoch eindrucksvoll, wie schnell IE9 auf echten Webseiten ist.

    VG, Daniel

    P.S.: Zum Thema Browsersicherheit kannst Du Dir ja mal die Web Browser Security-Tests von NSS Labs ansehen.

     

    Zum Thema Browsersicherheit verweise ich auf die Lektüre

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment