Run performance benchmarks and create displays of those measurements.
High-level workflow:
Run performance benchmarks and create displays of those measurements. High-level workflow: 1. Set options. 2. Write benchmarks with [[defbench]]. 3. Run benchmarks with [[run-benchmarks]]. 4. Generate html document with [[generate-documents]].
(-main action)(-main action explicit-options-filename)Given keyword action, runs a Fastester task with the following
associations:
:benchmarks executes ([[run-benchmarks]]):documents executes ([[generate-documents]]).Examples:
$ lein run -m fastester.core :benchmarks
$ lein run -m fastester.core :documents
Read options from ./resources/fastester_options.edn because explicit options
filename is not supplied.
Example:
$ lein run -m fastester.core :benchmarks ./foobar_options.edn
Reads options from explicitly-given ./foobar_options.edn.
Note #1: Invoke the JVM with tiered compilation levels one or three (recommended).
Example Leiningen project.clj entry:
:jvm-opts ["-XX:+TieredCompilation"
"-XX:TieredStopAtLevel=4"]
Note #2: When running on systems with multiple, heterogeneous CPU cores, pin the benchmark process to a specified core, e.g., with Linux's taskset utility.
Given keyword `action`, runs a Fastester task with the following
associations:
* `:benchmarks` executes `(`[[run-benchmarks]]`)`
* `:documents` executes `(`[[generate-documents]]`)`.
Examples:
```bash
$ lein run -m fastester.core :benchmarks
$ lein run -m fastester.core :documents
```
Read options from `./resources/fastester_options.edn` because explicit options
filename is not supplied.
Example:
```bash
$ lein run -m fastester.core :benchmarks ./foobar_options.edn
```
Reads options from explicitly-given `./foobar_options.edn`.
Note #1: Invoke the JVM with
[tiered compilation](https://docs.oracle.com/javase/8/docs/technotes/guides/vm/performance-enhancements-7.html)
levels one or three (recommended).
Example Leiningen `project.clj` entry:
```clojure
:jvm-opts ["-XX:+TieredCompilation"
"-XX:TieredStopAtLevel=4"]
```
Note #2: When running on systems with multiple, heterogeneous CPU cores, pin
the benchmark process to a specified core, e.g., with Linux's
[taskset](https://manpages.debian.org/bookworm/util-linux/taskset.1.en.html)
utility.(run-benchmarks-and-generate-documents)(run-benchmarks-and-generate-documents explicit-options-filename)Run all benchmarks and generate an html document that displays comparisons to previous versions.
See [[run-benchmarks]] and [[generate-documents]].
Run all benchmarks and generate an html document that displays comparisons to previous versions. See [[run-benchmarks]] and [[generate-documents]].
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |