Liking cljdoc? Tell your friends :D

fastester.core

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]].
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]].
raw docstring

-mainclj

(-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.
raw docstring

run-benchmarks-and-generate-documentsclj

(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]].
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close