# A browser benchmark that has your back: RoboHornet

DevFeed: [A browser benchmark that has your back: RoboHornet](<https://devfeed.tech/articles/a-browser-benchmark-that-has-your-back-robohornet-21667.md>)

Original publisher: [Read original article](<https://paulirish.com/2012/a-browser-benchmark-that-has-your-back-robohornet/>)

Author: Paul Irish

Published: 2012-09-24T21:51:00Z

Content type: article

Language: en

Sources: [Paul Irish](<https://devfeed.tech/sources/paul-irish.md>)

Topics: [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [API](<https://devfeed.tech/topics/api.md>), [SVG](<https://devfeed.tech/topics/svg.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>), [Ember](<https://devfeed.tech/topics/ember.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [LocalStorage](<https://devfeed.tech/topics/localstorage.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [browser](<https://devfeed.tech/tags/browser.md>), [issue-tracker](<https://devfeed.tech/tags/issue-tracker.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [performance](<https://devfeed.tech/tags/performance.md>), [selectors](<https://devfeed.tech/tags/selectors.md>), [speed](<https://devfeed.tech/tags/speed.md>), [svg](<https://devfeed.tech/tags/svg.md>), [tests](<https://devfeed.tech/tags/tests.md>), [web](<https://devfeed.tech/tags/web.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

## AI overview

RoboHornet is an open-source, cross-vendor browser benchmark designed to measure real-world web performance problems rather than only raw JavaScript speed. It uses developer-submitted and community-selected tests covering bottlenecks such as DOM operations, API methods, SVG, canvas, storage, and rendering.

## Source excerpt

The past few years' browser focus on speed has been great for us and our users. We've seen a huge and dramatic performance boost on benchmarks like Sunspider, Kraken, and Octane. But, these benchmarks, often crafted by JavaScript VM engineers, test raw JavaScript performance, which is rarely the bottleneck we have in our apps. These days, our performance bottlenecks are oftentimes DOM, <canvas> API methods, SVG. Those are our priorities. So then why do we see all browser vendors competing on raw JS when we are hacking our way around to avoid the actual performance pain points? So we wanted to solve that with RoboHornet. Today, a cross-vendor collection of developers, led by Google, is open-sourcing RoboHornet. As project lead Alex Komoroske put it, "it's a living, dynamic benchmark that aims to use the collective efforts of the web development community and ultimately get browser vendors to fix real-world performance pain points." Let's look at how RoboHornet will hopefully flip the above situation on its head. Web app developers identify and isolate a specific pain point in their app That issue is reduced down to a solid benchmark Propose it to a committee of JavaScript experts from JSPerf, YUI, Google, Facebook, and others Everyone votes for which issues should make it Of the top voted items, as long as the committee thinks they are good, they head into the benchmark The RoboHornet Suite now better represents the web app developer communities biggest priorities for performance Browser vendors compete on their RoboHornet score, optimizing the slow behaviors that developers prioritize Everybody wins. Yay ice cream for everyone! What's in there now The current items that RoboHornet tests captures the major pain points of jQuery, Google Apps, Google Maps, Ember, Handlebars and Cappuccino: Adding rows to an existing table Adding columns to an existing table Descendant selectors at different DOM depths Converting a 2D canvas to a data URI Clearing a 2D canvas Table rend