-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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.
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
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.
- Kraken: can't find info on what this contains, but claims to be real workloads, so probably not exclusively JS
- GUIMark 2: graphics related tests
- BrowserMark: seems to test a wide variety of things
- canvas performance test
- WebVizBench: seems to test WebGL rendering
- HTML5 benchmark: mainly testing GC pauses during canvas operations
- CSS parsing microbenchmark
- CanvasMark
- WebGL Performance Benchmark
- renderperf3: WebGL benchmark
- Speedometer
- Maze - layout performance
- Web Tooling
- 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