|
1 | | -# How to Write and Run Benchmarks in Node.js Core |
| 1 | +# How to write and run benchmarks in Node.js core |
2 | 2 |
|
3 | | -## Table of Contents |
| 3 | +## Table of contents |
4 | 4 |
|
5 | 5 | * [Prerequisites](#prerequisites) |
6 | | - * [HTTP Benchmark Requirements](#http-benchmark-requirements) |
7 | | - * [HTTPS Benchmark Requirements](#https-benchmark-requirements) |
8 | | - * [HTTP/2 Benchmark Requirements](#http2-benchmark-requirements) |
9 | | - * [Benchmark Analysis Requirements](#benchmark-analysis-requirements) |
| 6 | + * [HTTP benchmark requirements](#http-benchmark-requirements) |
| 7 | + * [HTTPS benchmark requirements](#https-benchmark-requirements) |
| 8 | + * [HTTP/2 benchmark requirements](#http2-benchmark-requirements) |
| 9 | + * [Benchmark analysis requirements](#benchmark-analysis-requirements) |
10 | 10 | * [Running benchmarks](#running-benchmarks) |
11 | 11 | * [Running individual benchmarks](#running-individual-benchmarks) |
12 | 12 | * [Running all benchmarks](#running-all-benchmarks) |
13 | 13 | * [Filtering benchmarks](#filtering-benchmarks) |
14 | 14 | * [Comparing Node.js versions](#comparing-nodejs-versions) |
15 | 15 | * [Comparing parameters](#comparing-parameters) |
16 | | - * [Running Benchmarks on the CI](#running-benchmarks-on-the-ci) |
| 16 | + * [Running benchmarks on the CI](#running-benchmarks-on-the-ci) |
17 | 17 | * [Creating a benchmark](#creating-a-benchmark) |
18 | 18 | * [Basics of a benchmark](#basics-of-a-benchmark) |
19 | 19 | * [Creating an HTTP benchmark](#creating-an-http-benchmark) |
@@ -24,7 +24,7 @@ Basic Unix tools are required for some benchmarks. |
24 | 24 | [Git for Windows][git-for-windows] includes Git Bash and the necessary tools, |
25 | 25 | which need to be included in the global Windows `PATH`. |
26 | 26 |
|
27 | | -### HTTP Benchmark Requirements |
| 27 | +### HTTP benchmark requirements |
28 | 28 |
|
29 | 29 | Most of the HTTP benchmarks require a benchmarker to be installed. This can be |
30 | 30 | either [`wrk`][wrk] or [`autocannon`][autocannon]. |
@@ -45,22 +45,22 @@ benchmarker to be used should be specified by providing it as an argument: |
45 | 45 |
|
46 | 46 | `node benchmark/http/simple.js benchmarker=autocannon` |
47 | 47 |
|
48 | | -#### HTTPS Benchmark Requirements |
| 48 | +#### HTTPS benchmark requirements |
49 | 49 |
|
50 | 50 | To run the `https` benchmarks, one of `autocannon` or `wrk` benchmarkers must |
51 | 51 | be used. |
52 | 52 |
|
53 | 53 | `node benchmark/https/simple.js benchmarker=autocannon` |
54 | 54 |
|
55 | | -#### HTTP/2 Benchmark Requirements |
| 55 | +#### HTTP/2 benchmark requirements |
56 | 56 |
|
57 | 57 | To run the `http2` benchmarks, the `h2load` benchmarker must be used. The |
58 | 58 | `h2load` tool is a component of the `nghttp2` project and may be installed |
59 | 59 | from [nghttp2.org][] or built from source. |
60 | 60 |
|
61 | 61 | `node benchmark/http2/simple.js benchmarker=h2load` |
62 | 62 |
|
63 | | -### Benchmark Analysis Requirements |
| 63 | +### Benchmark analysis requirements |
64 | 64 |
|
65 | 65 | To analyze the results, `R` should be installed. Use one of the available |
66 | 66 | package managers or download it from <https://www.r-project.org/>. |
@@ -423,7 +423,7 @@ chunkLen encoding rate confidence.interval |
423 | 423 |
|
424 | 424 |  |
425 | 425 |
|
426 | | -### Running Benchmarks on the CI |
| 426 | +### Running benchmarks on the CI |
427 | 427 |
|
428 | 428 | To see the performance impact of a Pull Request by running benchmarks on |
429 | 429 | the CI, check out [How to: Running core benchmarks on Node.js CI][benchmark-ci]. |
|