Sunspider 1.0 veröffentlicht
Sunspider 1.0 veröffentlicht (Bild: Webkit.org)

Javascript-Benchmark Sunspider 1.0 lässt sich nicht mehr austricksen

Das Webkit-Team hat seinen Javascript-Benchmark Sunspider in der Version 1.0 veröffentlicht. Die neue Version soll sich nicht länger von Javascript-Engines austricksen lassen und von Stromsparmechanismen beeinflusst werden.

Anzeige

Der erstmals 2007 veröffentlichte Javascript-Benchmark Sunspider 0.9 war lange Zeit das Maß der Dinge, wenn es darum ging, die Geschwindigkeit von Javascript-Engines zu vergleichen. Doch die Engines wurden zu gut für den Benchmark, so dass dessen Ergebnisse immer weniger Aussagekraft hatten. Mittlerweile gibt es zahlreiche Javascript-Benchmarks, die besser für moderne Browser geeignet sind als Sunspider 0.9.1, beispielsweise V8 und Octane von Google oder Kraken von Mozilla.

Das soll sich mit Sunspider 1.0 wieder ändern: Die neue Version korrigiert die wesentlichen Probleme von Sunspider 0.9.1 und soll so auch in modernen Browsern auf moderner Hardware wieder sinnvolle Ergebnisse liefern. Die Webkit-Entwickler halten dabei an der Grundidee von nur kurz laufenden Tests fest, denn Benchmarks, die auf lange laufende Javascript-Programme ausgelegt sind, gebe es genug. Sunspider soll so Benchmarks wie Octane oder Kraken sinnvoll ergänzen und sich auf die Bereiche konzentrieren, die in Javascript besonders schwierig zu optimieren sind. Dazu zählen Funktionen wie eval() oder Konstrukte wie for/in.

Tests mit Prüfungen

23 der 26 in Sunspider enthaltenen Einzeltests haben die Webkit-Entwickler um eine Prüfung ihrer Ergebnisse erweitert. Das soll zum einen sicherstellen, dass die Tests korrekt ausgeführt sind. Zum anderen, und das ist der wesentliche Grund, sollen die Prüfungen verhindern, dass die Ausführung der Tests von der Javascript-Engine einfach übersprungen wird. Die in modernen Javascript-Engines enthaltenen Code-Optimierer sorgen nämlich dafür, dass unnötiger Code (englisch dead code) übersprungen wird. Werden in einem Test also Berechnungen durchgeführt, deren Ergebnis nie benutzt wird, kann es passieren, dass der Code auch nie ausgeführt wird. In einem Benchmark, der die Zeit misst, die diese Berechnungen benötigen, ist das ungünstig.

Die in Sunspider integrierten Prüfungen verhindern diese normalerweise durchaus wünschenswerte Optimierung. Lediglich für Tests, die auf Zufallswerte basieren, davon abhängen, in welcher Zeitzone ein Nutzer ist oder die Funktion Math.sin() verwenden, werden keine Prüfungen durchgeführt. Die Ergebnisse von Math.sin() dürfen sich laut Spezifikation zwischen den Implementierungen unterscheiden. Denn bei diesen Tests lässt sich das Ergebnis nicht sicher voraussagen.

Keine Pausen

Zudem macht Sunspider zwischen den einzelnen Tests keine Pausen mehr, was verhindern soll, dass möglicherweise greifende Stromsparfunktionen die Ergebnisse beeinflussen. In der ersten Version machte Sunspider noch zwischen allen Tests 500 ms Pause. Das sollte dem Browser die Möglichkeit geben, ansynchrone Arbeiten abzuschließen, bevor die nächste Testrunde startet. Das führte mit der Zeit aber dazu, dass die immer besser werdenden Stromsparfunktionen moderne Hardware greifen und beispielsweise die Taktfrequenzen senkten oder die CPU in einen Schlafmodus versetzten. So konnte es passieren, dass ein nominell schnelles Notebook mit gleichem Browser schlechtere Benchmarkwerte erzielte als ein langsameres, obwohl es die Tests eigentlich schneller absolvieren konnte und das manchmal auch tat.

Mit Sunspider 0.9.1 wurden daher die Pausen zwischen den Tests auf 10 ms verkürzt, doch auch das führt mittlerweile zu Problemen, da die Stromsparfunktionen immer schneller greifen. In Sunspider verzichten die Webkit-Entwickler daher komplett auf Pausen. Damit sind die Ergebnisse auch bei aktivierten Stromsparfunktionen wieder konsistent. Zudem hat dies den Vorteil, dass sich die Laufzeit der Benchmark-Suite nahezu halbiert, da auf schneller Hardware fast die Hälfte der Laufzeit bisher auf die Pausen entfiel.

Zudem verhindert der Verzicht auf Pausen, dass Javascript-Engines in dieser Zeit ihre Garbage-Collection abwickeln können, ohne dass dies einen Einfluss auf die Benchmark-Ergebnisse hat. In Sunspider 1.0 wirkt sich die Garbage-Collection stattdessen auf die Ergebnisse aus.

Sunspider 1.0 steht unter webkit.org/ bereit. Apples Browser Safari schneidet in dem neuen Benchmark des Webkit-Teams vergleichsweise gut ab. Gleiches gilt für Firefox, während Googles Browser Chrome hier etwas langsamer ist als die beiden Konkurrenten. In anderen Benchmarks landet Chrome meist vorn.


Airblader 02. Mai 2013

Selbst in diesem einen "Use-Case" wäre Performance kaum ein kritischer Faktor, oder? Wird...

Kommentieren



Anzeige

  1. Technologie-Consultant Test-Infrastruktur (m/w)
    T-Systems on site services GmbH, Nürnberg
  2. Big Data Expert (m/w) für den Bereich Industry & Logistics
    Bosch Software Innovations GmbH, Berlin, Immenstaad am Bodensee, Waiblingen
  3. Mitarbeiter IT-Support (m/w)
    Klosterfrau Berlin GmbH, Berlin
  4. Entwicklungsingenieur Embedded Software (m/w)
    SICK STEGMANN GmbH, Donaueschingen

Detailsuche


Blu-ray-Angebote
  1. VORBESTELLBAR: Terminator: Genisys Skull & 3D Steelbook (+Blu-ray) [Limited Edition]
  2. VORBESTELLBAR: Star Wars: The Complete Saga (BD) [Blu-ray]
    89,99€ (Vorbesteller-Preisgarantie)
  3. NEU: Blu-rays je 7,97 EUR oder günstiger
    (u. a. Dallas Buyers Club, Mud - Kein Ausweg, The Body, Die Höhle, Sylvester Stallone vs. Dolph...

Weitere Angebote


Folgen Sie uns
       


  1. Notebooks mit neuem Intel-Prozessor

    Mit Skylake kommt meist USB-Typ-C

  2. Prozessoren

    Intel stellt Skylake für Ultra- und Notebooks vor

  3. Me Pro im Hands on

    Gigasets Einstieg in den Smartphone-Markt

  4. iOS

    Jailbreak-Malware greift 225.000 Nutzerdaten ab

  5. Wettbewerbszentrale

    Abmahnung für Zalando wegen vorgetäuschter Knappheit

  6. Nextbit Robin angeschaut

    Das Smartphone mit der intelligenten Cloud

  7. Netzneutralität

    Bund will Spezialdienste für autonome Autos - egal wozu

  8. Streaming

    Amazon-Prime-Inhalte jetzt für alle herunterladbar

  9. Epic Games

    Unreal Engine 4.9 mit mehr Grafikeffekten auf Mobilegeräten

  10. Hypervisor

    OpenBSD bekommt native Virtualisierung



Haben wir etwas übersehen?

E-Mail an news@golem.de



Digiskopie ausprobiert: Ich schau dir in die Augen, Wildes!
Digiskopie ausprobiert
Ich schau dir in die Augen, Wildes!
  1. Modulo Neue Kamera belichtet nie über
  2. Obstruction-Free Photography Algorithmus entfernt störende Elemente aus Fotos
  3. Flir One Hochauflösende Wärmebildkamera für iOS und Android

Snowden-Dokumente: Die planmäßige Zerstörungswut des GCHQ
Snowden-Dokumente
Die planmäßige Zerstörungswut des GCHQ
  1. Macbooks IBM wechselt vom Lenovo Thinkpad zum Mac
  2. Liske Bitkom schließt Vorstandsmitglied im Streit aus
  3. IuK-Kommission Das Protokoll des Bundestags-Hacks

Rare Replay im Test: Banjo, Conker und mehr im Paket
Rare Replay im Test
Banjo, Conker und mehr im Paket
  1. Microsoft Warum Quantum Break nicht für Windows erscheint
  2. Xbox One DVR-Funktion erscheint vorerst nicht in Deutschland
  3. Xbox One Frische Farben für die neue Nutzerführung

  1. Re: Wie ist des mit Zwangswerbung, Senden von...

    Discept | 08:24

  2. Re: Kein wirklicher Kracher dabei... Schade...

    ms (Golem.de) | 08:21

  3. Re: Wer schaut Filme aufm Handy ?

    blobhopp | 08:20

  4. Re: Im deutschen Donauwörth...

    Heldbock | 08:20

  5. Re: Wie es wohl bei Android aussieht?

    exxo | 08:19


  1. 06:00

  2. 03:00

  3. 18:29

  4. 17:52

  5. 17:08

  6. 16:00

  7. 15:57

  8. 15:40


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel