Skip to content

Benchmarks

Josh Matthews edited this page Jan 29, 2021 · 11 revisions

Servo should have benchmarks in order to compare our performance against shipping browsers and to make sure our experiments lead in fruitful directions. These benchmarks should exercise enough features that they are not toy examples and should also exercise paths that are relevant to our research.

Research Areas to Measure

These are the things we want to measure, both for clock time and for parallelism.

  • General layout performance
  • DOM manipulation (JS -> Rust -> JS roundtrips)
  • Memory usage
  • of DOM
  • of CSS selector matching

Specific Benchmarks

These are some benchmarks other browsers use. Perhaps some of these are reasonable for the above. Most benchmarks seem to be overly focused on JS engine performance.

Known to work in Servo

  • JetStream - seems to measure JS engine performance
  • Octane: seems too focused on JS engine, but perhaps PDF.js benchmark is relevant due to it using canvas DOM APIs heavily
  • RoboHornet: lots of DOM api benchmarks
  • Dromaeo: specifically the DOM performance tests

Libraries

References and Resources

Clone this wiki locally