Skip to content

Commit

Permalink
benchmark: replace table in docs with description of file tree structure
Browse files Browse the repository at this point in the history
The markdown table in `benchmark/README.md` has grown stale, no
longer providing an overview over all existing benchmarks. As it has
proven difficult to keep an exhaustive listing of available benchmarks
up to date, this commit provides a description of how the directory is
structured instead.

PR-URL: #46991
Reviewed-By: Kohei Ueno <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
  • Loading branch information
Theo-Steiner authored Mar 11, 2023
1 parent 86c831f commit 10c1ab0
Showing 1 changed file with 14 additions and 31 deletions.
45 changes: 14 additions & 31 deletions benchmark/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,39 +9,22 @@ directory, see [the guide on benchmarks](../doc/contributing/writing-and-running

## Table of Contents

* [Benchmark directories](#benchmark-directories)
* [File tree structure](#file-tree-structure)
* [Common API](#common-api)

## Benchmark Directories

| Directory | Purpose |
| --------------- | ---------------------------------------------------------------------------------------------------------------- |
| assert | Benchmarks for the `assert` subsystem. |
| buffers | Benchmarks for the `buffer` subsystem. |
| child\_process | Benchmarks for the `child_process` subsystem. |
| crypto | Benchmarks for the `crypto` subsystem. |
| dgram | Benchmarks for the `dgram` subsystem. |
| domain | Benchmarks for the `domain` subsystem. |
| es | Benchmarks for various new ECMAScript features and their pre-ES2015 counterparts. |
| events | Benchmarks for the `events` subsystem. |
| fixtures | Benchmarks fixtures used in various benchmarks throughout the benchmark suite. |
| fs | Benchmarks for the `fs` subsystem. |
| http | Benchmarks for the `http` subsystem. |
| http2 | Benchmarks for the `http2` subsystem. |
| misc | Miscellaneous benchmarks and benchmarks for shared internal modules. |
| module | Benchmarks for the `module` subsystem. |
| net | Benchmarks for the `net` subsystem. |
| path | Benchmarks for the `path` subsystem. |
| perf\_hooks | Benchmarks for the `perf_hooks` subsystem. |
| process | Benchmarks for the `process` subsystem. |
| querystring | Benchmarks for the `querystring` subsystem. |
| streams | Benchmarks for the `streams` subsystem. |
| string\_decoder | Benchmarks for the `string_decoder` subsystem. |
| timers | Benchmarks for the `timers` subsystem, including `setTimeout`, `setInterval`, .etc. |
| tls | Benchmarks for the `tls` subsystem. |
| url | Benchmarks for the `url` subsystem, including the legacy `url` implementation and the WHATWG URL implementation. |
| util | Benchmarks for the `util` subsystem. |
| vm | Benchmarks for the `vm` subsystem. |
## File tree structure

### Directories

Benchmarks testing the performance of a single node submodule are placed into a
directory with the corresponding name, so that they can be executed by submodule
or individually.
Benchmarks that span multiple submodules may either be placed into the `misc`
directory or into a directory named after the feature they benchmark.
E.g. benchmarks for various new ECMAScript features and their pre-ES2015
counterparts are placed in a directory named `es`.
Fixtures that are not specific to a certain benchmark but can be reused
throughout the benchmark suite should be placed in the `fixtures` directory.

### Other Top-level files

Expand Down

0 comments on commit 10c1ab0

Please sign in to comment.