webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Benchmark Runner

This is a script for automating the browser based benchmarks(e.g. Speedometer, JetStream) ## Project Structure

benchmark_runner
├── README.md
├── __init__.py
├── benchmark_builder.py
├── benchmark_results.py
├── benchmark_results_unittest.py
├── benchmark_runner.py
├── browser_driver
│   ├── __init__.py
│   ├── browser_driver.py
│   ├── browser_driver_factory.py
│   ├── osx_browser_driver.py
│   ├── osx_chrome_driver.py
│   ├── osx_firefox_driver.py
│   └── osx_safari_driver.py
├── data
│   ├── patches
│   │   ├── Dromaeo.patch
│   │   ├── JSBench.patch
│   │   ├── JetStream.patch
│   │   ├── Kraken.patch
│   │   ├── Octane.patch
│   │   ├── Speedometer.patch
│   │   └── SunSpider.patch
│   └── plans
│   ├── dromaeo-cssquery.plan
│   ├── dromaeo-dom.plan
│   ├── dromaeo-jslib.plan
│   ├── jetstream.plan
│   ├── jsbench.plan
│   ├── kraken.plan
│   ├── octane.plan
│   ├── speedometer.plan
│   └── sunspider.plan
├── generic_factory.py
├── http_server_driver
│   ├── __init__.py
│   ├── http_server
│   │   └── twisted_http_server.py
│   ├── http_server_driver.py
│   ├── http_server_driver_factory.py
│   └── simple_http_server_driver.py
├── run_benchmark.py
└── utils.py

Requirements

HOW TOs

### How to run

python path/to/run-benchmark --build-directory path/to/browser/directory --plan json_format_plan --platform target_platform --browser target_browser

How to create a plan

To create a plan, you may refer to Plans/jetstream.plan.

{
"timeout" : 600,
"count": 5,
"local_copy": "../../../../PerformanceTests/JetStream",
"benchmark_patch": "data/patches/JetStream.patch",
"entry_point": "JetStream/JetStream-1.0.1/index.html",
"config": {
"orientation": "portrait"
},
"output_file": "jetstream.result"
}

Plan is a json-formatted dictionary which contains following keys

How to import a benchmark