Web Browser Benchmarks and Standards Tests

Web Browser Benchmarks and Standards Tests

Evaluating the performance and compliance of modern web browsers requires a diverse set of tools. From measuring the raw speed of JavaScript engines to ensuring a browser correctly renders complex CSS, benchmarks provide the data necessary for developers and users to understand how a browser handles the modern web. These tools generally fall into two categories: performance benchmarks, which measure speed and efficiency, and standards tests, which verify adherence to official web specifications.

Key Facts

  • Speedometer 3.1 measures web app responsiveness by simulating user interactions with to-do lists.
  • Acid tests (Acid1, Acid2, Acid3) are designed to verify a browser's compliance with web standards.
  • JavaScript suites like JetStream and Kraken focus specifically on the execution speed of the browser's engine.
  • Rendering benchmarks such as MotionMark and Wirple BMark test graphics, 3D, and vector performance.
  • Many legacy benchmarks, including Peacekeeper and Octane, are no longer maintained.

Performance Benchmarks

Web Application Responsiveness

Speedometer, originally developed by Apple's WebKit team in 2014 and updated in 2018, is a primary tool for testing responsiveness. Speedometer 3.1 simulates user actions—adding, completing, and removing items—within TodoMVC examples. These examples use various DOM APIs (Document Object Model Application Programming Interfaces, which allow programs to change the document structure, style, and content) implemented in different ways, including ES5, ES6, and Elm.

The benchmark tests eleven popular JavaScript frameworks, including React, Vue.js, Angular, and jQuery, which power major sites like Facebook and Twitter. Performance in these tests depends on the JavaScript engine, CSS style resolution, layout, and DOM API speed.

[ไม่มีภาพประกอบ]

JavaScript Execution Suites

Several suites focus specifically on the logic and mathematical capabilities of the browser's JavaScript engine:

  • JetStream: An active JavaScript test suite developed by Apple.
  • Kraken: An active Mozilla suite released in September 2010.
  • SunSpider: A WebKit team benchmark focusing on real-world tasks like text manipulation and encryption. Versions were released in 2007 (v0.9), 2010 (v0.9.1), and 2013 (v1.0).
  • Dromaeo: A Mozilla suite based on SunSpider that provides highly detailed task information (now superseded by Kraken).

General and Cross-Platform Testing

Other benchmarks provide a broader look at browser capabilities. WebXPRT, administered by Principled Technologies, runs HTML5 and JavaScript workloads to provide both individual and overall scores. Microsoft maintains its own suite of performance tests designed to stress JavaScript and rendering, primarily to highlight Internet Explorer's performance while remaining compatible with other browsers.

Graphics and Rendering Tests

Visual performance is measured through specialized tools that test how a browser handles graphics and layout:

  • MotionMark 1.3: An active graphics benchmark developed by Apple.
  • Wirple BMark: A performance test for HTML5 3D applications, testing both WebGL and Canvas3D.
  • GUIMark 2: Tests text, bitmap, and vector rendering for both HTML5 and Adobe Flash.

Web Standards Compliance (The Acid Tests)

Unlike performance benchmarks, Acid tests determine if a browser follows the rules set by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF).

Acid1

Developed in October 1998, Acid1 (originally the Box Acid Test) established baseline interoperability for early browsers, specifically regarding the Cascading Style Sheets (CSS) 1.0 specification.

Acid2

Released on April 13, 2005, by the Web Standards Project, Acid2 tests the display of HTML markup, CSS 2.1 styling, PNG images, and data URIs.

Acid3

The Acid3 test focuses on a browser's compliance with the Document Object Model (DOM) and JavaScript standards.

Benchmark Summary Table

Overview of Notable Browser Benchmarks and Tests
Tool Name Primary Focus Developer/Maintainer Status
Speedometer 3.1 Web App Responsiveness WebKit (Apple) Active
JetStream JavaScript Performance Apple Active
WebXPRT HTML5/JS Workloads BenchmarkXPRT Community Active
Acid3 DOM and JS Standards Web Standards Project Standard
Octane JavaScript Performance Google Unmaintained
Peacekeeper Rendering/Memory/Math Futuremark Offline

Legacy and Superseded Tools

The landscape of browser testing evolves rapidly. Google's V8 suite was used to optimize Chrome but was superseded by Octane. Octane itself, which evolved from 13 tests in v.1 to 17 tests in v.2, ceased to be maintained by Google as of April 12, 2017. Similarly, Futuremark's Peacekeeper, which tested rendering and memory over a 5-minute execution period, was discontinued in July 2015 and taken offline in March 2018.

Frequently Asked Questions

What does Speedometer 3.1 actually measure?

It measures a browser's responsiveness to web applications by timing how quickly it can perform simulated user interactions, such as adding or removing items from a to-do list using various JavaScript frameworks.

What is the purpose of the Acid tests?

The Acid tests are designed to provide a clear indication of whether a web browser complies with official web standards, such as CSS and DOM specifications, ensuring consistent rendering across different browsers.

Is Octane still a reliable benchmark for JavaScript?

While it was a successor to the V8 benchmark, Google stopped maintaining Octane on April 12, 2017, meaning it may not reflect the performance of modern JavaScript engines.

What is the difference between WebGL and Canvas3D testing?

Both are used for 3D applications in the browser; tools like Wirple BMark test both to ensure the browser can handle high-performance 3D graphics rendering.

Who maintains the WebXPRT benchmark?

WebXPRT is published by the BenchmarkXPRT Development Community and is administered by Principled Technologies.