module Bench: Bench
module Test: sig
.. end
Test.t
are benchmarked by calls to bench.
module Variable: sig
.. end
Variable.t
s represent variables than can be used as predictors or the responder
when specifying a regression.
module Run_config: sig
.. end
Run_config.t
specifies how a benchmark should be run.
module Display_config: sig
.. end
Display_config.t
specifies how the output tables should be formatted.
module Analysis_config: sig
.. end
Each Analysis_config.t
specifies a regression run by Core_bench
.
module Measurement: sig
.. end
A Measurement.t
represents the result of measuring execution of a Test.t
.
val make_command : Test.t list -> Core.Std.Command.t
make_command tests
is the easiest way to generate a command-line program that runs a
list of benchmarks. Here tests : Test.t list
are the benchmarks that should be run.
This returns a Command.t
which provides a command-line interface for running the
benchmarks. See notes above for an example.
val bench : ?run_config:Run_config.t ->
?analysis_configs:Analysis_config.t list ->
?display_config:Display_config.t -> Test.t list -> unit
bench tests
will run, analyze and display the specified tests
. Use this when one
needs more control over the execution parameters that what is exposed through
make_command
.
val measure : ?run_config:Run_config.t ->
Test.t list -> Measurement.t list
measure
is a fragment of the functionality of bench
. measure tests
will run
the specified tests
and return the resulting measurement results.
val analyze : ?analysis_configs:Analysis_config.t list ->
Measurement.t -> Analysis_result.t Core.Std.Or_error.t
analyze
is a fragment of the functionality of bench
. analyze ~analysis_configs m
will analyze the measurement m
using the regressions specified.
val display : ?display_config:Display_config.t -> Analysis_result.t list -> unit
display
is a fragment of the functionality of bench
. display results
will
display a tabular summary of results
on the terminal.
val make_command_ext : summary:string ->
extra_spec:('a, unit -> unit) Core.Std.Command.Spec.t ->
f:(Analysis_config.t list * Display_config.t *
[ `From_file of string list
| `Run of (Measurement.t -> string) option * Run_config.t ] ->
'a) ->
Core.Std.Command.t
make_command_ext
is useful for creating Command.t
s that have command line flags in
addition to those provided by make_command
.