Manual-sync mirror of chromium.googlesource.com/external/github.com/WebKit/Speedometer.git
- Subdomain running options:
- hosted: using `-$ITER` subdomain suffix
- local: using increasing port numbers
- Add measure prepare phase for "loading" style metric
- Move the warmup suite to the main config
- Display all top level metrics directly in the details view
The subdomain runner works by the outer default runner communicating
with the inner (embedded) runner via postMessage. There are 2 new
runners
- SubdomainBenchmarkRunner: the outer runner
- EmbeddedBenchmarkRunner: the inner runner
The main page switches over to the SubdomainBenchmarkRunner if the
corresponding param is set.
The EmbeddedBenchmarkRunner is then used by setting `?embedded` and
we end up with double wrapped workload (easy right...):
SubdomainBenchmarkRunner:
iframe:
EmbeddedBenchmarkRunner:
iframe:
Suite
This approach doesn't require changing the current workloads and we
can still easily measure framework setup time. Hopefully this can
be cleaned up in the future by refactoring the runner.
Change-Id: Ib813e8d83fd164fb2849b6889f187c1904b21965
|
||
|---|---|---|
| .github/workflows | ||
| resources | ||
| tests | ||
| .eslintignore | ||
| .eslintrc | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| about.html | ||
| babel.config.json | ||
| Development.md | ||
| Governance.md | ||
| index.html | ||
| instructions.html | ||
| InteractiveRunner.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| Testing.md | ||
What is Speedometer?
Speedometer is a benchmark for web browsers that measures Web application responsiveness by timing simulated user interactions on various workloads. Our primary goal is to make it reflect the real-world Web as much as possible. When a browser improves its score on the benchmark, actual users should benefit. In order to achieve this, it should:
- Test end-to-end user journeys instead of testing specific features in a tight loop. Each test should exercise the full set of what’s needed from the engine in order for a user to accomplish a task.
- Evolve over time, adapting to the present Web on a regular basis. This should be informed by current usage data, and by consensus about features which are important for engines to optimize to provide a consistent experience for users and site authors.
- Be accessible to the public and useful to browser engineers. It should run in every modern browser by visiting a normal web page. It should run relatively quickly, while providing enough test coverage to be reflective of the real-world Web.