Login
Newsletter
Werbung

Mi, 26. September 2012, 13:20

Software::Desktop

Robohornet: Neuer quelloffener, unabhängiger Browser-Benchmark

Gängige Browser-Benchmarks wie Mozillas Kraken, Googles V8 und Octane oder der Sunspider messen in erster Linie, wie schnell ein Browser JavaScript ausführt. Da heutzutage mehr und mehr auch andere Faktoren die Geschwindigkeit von Web-Applikationen beeinflussen und Kraken, Octane & Co. zudem nicht herstellerunabhängig sind, entwerfen führende Web-Entwickler in Zusammenarbeit mit einigen Browser-Herstellern zur Zeit den quelloffenen Browser-Benchmark »Robohornet«.

Robohornet

Thomas Drilling

Robohornet

Kraken, Octane, Sundspider oder V8 messen in erster Linie die JavaScript-Geschwindigkeit. Die hat sich jedoch bei allen aktuellen Browsern in den letzten Jahren ohnehin vervielfacht, sodass für Web-Entwickler auch anderen Komponenten des Browsers zum Flaschenhals werden. Auch was JavaScript selbst angeht, besteht bei Benchmarks von Browser-Herstellern wie Kraken, Octane & Co. immer das Problem, dass die jeweilige Suite gezielt die Stärken des eigenen Browsers berücksichtigt, bzw. neuste Web-Technologien einbezieht, die andere Hersteller eventuell noch gar nicht implementiert haben, unabhängig davon, wie praxisrelevant diese Technologien sind. Insofern sind die Ergebnisse der gängigen Kandidaten immer ein Stück weit synthetisch.

Robohornet soll als »der bessere« Browser-Benchmark genau jene Nachteile ausschließen und nur messen, was für Web-Entwickler und damit letztendlich für Nutzer tatsächlich wichtig ist. Initiiert wurde Robohornet von einer Gruppe führender Browser- und Web-Entwickler von Google, Facebook und angeblich auch Microsoft. Die Leitung des Projektes hat Alex Komoroske von Google inne. Weitere Mitglieder des Leitungsgremiums des Projekts sind aber auch der Mozilla-Produktmanager Daniel Buchner, Microsofts Programm-Manager John-David Dalton, Matt Kelly von Facebook und Googles Paul Irish bekannt durch jQuery und HTML5Boilerplate. Dem Gremium stehen weitere bekannte Persönlichkeiten der Web-Entwickler-Szene als technische Berater zur Verfügung, darunter Yehuda Katz (Ruby on Rails, jQuery, Sproutcore, Ember.js, Handlebars.js), Ariya Hidayat (Sencha),Tom Robinson (Cappucino), Lindsey Simon (Browserscope.org), Ryan Grove (YUI) und Marr Ziegelbaum (Google Spreadsheets).

Web-Entwickler, die die Ursache von Geschwindigkeitsproblemen in ihren Apps in einer langsamen oder fehlerhaften Browser-Funktion vermuten, können selbst einen entsprechenden Benchmark einreichen. Eine Kleine Gruppe von JavaScript-Experten im Komitee prüft den jeweiligen Vorschlag und stellt ihn dann der Gemeinschaft zur Abstimmung. Bei ausreichender Zustimmung wird der Vorschlag des Entwicklers in die Benchmark-Suite aufgenommen. Die Idee dabei: Wollen Browser-Hersteller die Punktzahl ihres Browsers in Robohornet verbessern, bliebt ihnen nichts anderes übrig, als für Web-Entwicklicher tatsächlich wichtige und relevanten Komponenten ihres Browsers zu beschleunigen. In jener Gruppe des Komitees, das über die Aufnahme eingereichter Benchmarks in die Benchmark-Suite entscheidet, sind die Browser-Hersteller nicht stimmberechtigt, dürfen aber als technische Berater die vorgeschlagene Benchmarks daraufhin prüfen, ob sich die darin dokumentierte Probleme tatsächlich auf die jeweiligen Browser zurückführen lassen. Über diese ungewöhnliche Zielsetzung von Robohornet ist in einer Erklärung des Komitees auf GitHub zu lesen: »Robohornet soll Webentwickler, die in der Realität des Webs auf Geschwindigkeitsprobleme stoßen, eine Stimme verleihen. Robohornet wurde nicht für Browser-Entwickler geschaffen, um Benchmarks mit dem Ziel auszusuchen, ihre Wettbewerber schlecht aussehen zu lassen«.

Zur Zeit widmen sich die in Robohornet enthaltenen Tests in erster Linie Problemen im Zusammenhang mit jQuery, Google Apps, Google Maps, Ember.js, Handlebars.js und Cappuccino. Dabei misst Robohornet beispielsweise, wie schnell der Browser eine Tabelle um neue Zeilen und Spalten erweitern kann, eine Tabelle nach Ändern des Inhalts darstellt, sich Spalten in einer Tabelle in der Größe verändern lassen, sich SVGs in der Größe verändern lassen, das Scrollen bei der Anzeige zahlreicher animierter Gifs möglich ist, der Browser die Getter- und Setter-Methoden von ECMAScript 5 ausführt, er ein 2D-Canvas in eine Data-URI umwandelt, mit Scrolltop gescrollt werden kann und er in den Local Storage schreiben und daraus lesen kann, bzw. er absteigende Selektoren in unterschiedlicher DOM-Tiefe anwendet. Eine vollständige Liste inklusive weiterer bereits vorgeschlagener Tests findet sich auf Github.

Robohornet verlässt auch bei der Interpretation der Ergebnisse ausgetretene Pfade. Der Punktindex bei Robohornet hängt in der Hauptsache davon ab, welche aktuelle Leistung die wichtigsten Konkurrenten bieten unter der Berücksichtigung der Themen, die Web-Entwicklern besonders wichtig sind. Robohornet normalisiert dazu für jede neue Version des Benchmarks die Ergebnisse noch einmal. Daraus ergibt sich ein Robohornet-Index, der letztendlich anzeigt, wie ein Browser im Vergleich zu seinen aktuellen Konkurrenten auf durchschnittlicher Hardware abschneidet. Erreicht er dabei 100 Punkte, ist er nur Durchschnitt.

Ein erster Test der Alpha-Version von Tomshardware offenbart eine eindeutige Tendenz. Demnach liegen die Browser vom jeweiligen Betriebssystemhersteller klar vorne, also der Android-Browser unter Android, Internet Explorer unter Windows oder Safari unter Mac OS X. Als Browser mit den besten Ergebnissen auf allen Plattformen erreicht dagegen derzeit Googles Chrome die höchsten Punktzahlen.

Robohornet ist derzeit noch im Alphastadium und läuft laut FAQ nur mit den aktuellsten Browsern. Robohornet lässt sich auf robohornet.org direkt ausprobieren. Optional steht der Code auch auf Github zum Herunterladen zur Verfügung.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung