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 <kohei.ueno119@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
  • Loading branch information
Theo-Steiner authored and targos committed Mar 13, 2023
1 parent f4b3ce8 commit cc5bcff
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 cc5bcff

Please sign in to comment.