This is the the-cost-of-nothing Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:53:28 2024 GMT+0.
the-cost-of-nothing/the-cost-of-nothing.asd
the-cost-of-nothing/core/packages.lisp
the-cost-of-nothing/core/utilities.lisp
the-cost-of-nothing/core/timestamps.lisp
the-cost-of-nothing/core/monitoring.lisp
the-cost-of-nothing/core/benchmarking.lisp
the-cost-of-nothing/core/time-series.lisp
the-cost-of-nothing/benchmarks/memory-management.lisp
the-cost-of-nothing/benchmarks/functions.lisp
the-cost-of-nothing/benchmarks/numerics.lisp
the-cost-of-nothing/benchmarks/report.lisp
The main system appears first, followed by any subsystem dependency.
the-cost-of-nothing
Determine the cost of things in Common Lisp.
Marco Heisig <marco.heisig@fau.de>
MIT
This library provides portable and sophisticated benchmark functions. It comes bundled with an extensive test suite that describes the performance of the currently used Lisp implementation, e.g. with respect to garbage collection, sequence traversal, CLOS and floating-point performance.
alexandria
(system).
closer-mop
(system).
local-time
(system).
trivial-garbage
(system).
core
(module).
benchmarks
(module).
Modules are listed depth-first from the system components tree.
the-cost-of-nothing/core
the-cost-of-nothing
(system).
packages.lisp
(file).
utilities.lisp
(file).
timestamps.lisp
(file).
monitoring.lisp
(file).
benchmarking.lisp
(file).
time-series.lisp
(file).
the-cost-of-nothing/benchmarks
the-cost-of-nothing
(system).
memory-management.lisp
(file).
functions.lisp
(file).
numerics.lisp
(file).
report.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
the-cost-of-nothing/the-cost-of-nothing.asd
the-cost-of-nothing/core/packages.lisp
the-cost-of-nothing/core/utilities.lisp
the-cost-of-nothing/core/timestamps.lisp
the-cost-of-nothing/core/monitoring.lisp
the-cost-of-nothing/core/benchmarking.lisp
the-cost-of-nothing/core/time-series.lisp
the-cost-of-nothing/benchmarks/memory-management.lisp
the-cost-of-nothing/benchmarks/functions.lisp
the-cost-of-nothing/benchmarks/numerics.lisp
the-cost-of-nothing/benchmarks/report.lisp
the-cost-of-nothing/the-cost-of-nothing.asd
the-cost-of-nothing
(system).
the-cost-of-nothing/core/utilities.lisp
packages.lisp
(file).
core
(module).
print-time
(function).
write-si-unit
(function).
*si-prefix-alist*
(special variable).
call-with-memoization
(function).
compiled-lambda
(function).
define-memo-function
(macro).
lambda-list-bindings
(function).
make-argument-list
(function).
make-lambda-list
(function).
nth-keyword-name
(function).
with-memoization
(macro).
the-cost-of-nothing/core/timestamps.lisp
utilities.lisp
(file).
core
(module).
*timestamp-function*
(special variable).
call-with-fuzzy-timestamps
(function).
make-timestamp
(function).
with-fuzzy-timestamps
(macro).
the-cost-of-nothing/core/monitoring.lisp
timestamps.lisp
(file).
core
(module).
make-measurement
(function).
measurement
(structure).
measurement-context
(reader).
(setf measurement-context)
(writer).
measurement-name
(reader).
(setf measurement-name)
(writer).
measurement-timestamp
(reader).
(setf measurement-timestamp)
(writer).
measurement-value
(reader).
(setf measurement-value)
(writer).
measurementp
(function).
monitor
(macro).
monitoring-region-end
(structure).
monitoring-region-start
(structure).
print-object
(method).
print-object
(method).
print-object
(method).
with-monitoring-region
(macro).
%monitor
(function).
*context*
(special variable).
*measurements*
(special variable).
call-with-monitoring-region
(function).
copy-measurement
(function).
copy-monitoring-region-end
(function).
copy-monitoring-region-start
(function).
make-monitoring-region-end
(function).
make-monitoring-region-start
(function).
monitoring-region-end-context
(function).
(setf monitoring-region-end-context)
(function).
monitoring-region-end-name
(function).
(setf monitoring-region-end-name)
(function).
monitoring-region-end-p
(function).
monitoring-region-end-timestamp
(function).
(setf monitoring-region-end-timestamp)
(function).
monitoring-region-end-value
(function).
(setf monitoring-region-end-value)
(function).
monitoring-region-start-context
(function).
(setf monitoring-region-start-context)
(function).
monitoring-region-start-name
(function).
(setf monitoring-region-start-name)
(function).
monitoring-region-start-p
(function).
monitoring-region-start-timestamp
(function).
(setf monitoring-region-start-timestamp)
(function).
monitoring-region-start-value
(function).
(setf monitoring-region-start-value)
(function).
store-measurement
(generic function).
the-cost-of-nothing/core/benchmarking.lisp
monitoring.lisp
(file).
core
(module).
bench
(macro).
benchmark
(macro).
benchmark-thunk
(function).
touch
(function).
*default-min-sample-time*
(special variable).
*default-overhead*
(special variable).
execution-time-of-thunk
(function).
sample-execution-time-of-thunk
(function).
the-cost-of-nothing/core/time-series.lisp
benchmarking.lisp
(file).
core
(module).
measurements
(reader method).
(setf measurements)
(writer method).
time-series
(class).
the-cost-of-nothing/benchmarks/memory-management.lisp
benchmarks
(module).
cons-cost
(function).
gc-cost
(function).
make-list-cost
(function).
make-sequence-cost
(function).
make-instance-cost
(function).
make-struct-cost
(function).
print-memory-management-report
(function).
the-cost-of-nothing/benchmarks/functions.lisp
memory-management.lisp
(file).
benchmarks
(module).
funcall-cost
(function).
print-functions-report
(function).
the-cost-of-nothing/benchmarks/numerics.lisp
functions.lisp
(file).
benchmarks
(module).
flops
(function).
print-numerics-report
(function).
the-cost-of-nothing/benchmarks/report.lisp
numerics.lisp
(file).
benchmarks
(module).
print-report
(function).
y-intersection-and-slope
(function).
Packages are listed by definition order.
the-cost-of-nothing
closer-common-lisp
.
bench
(macro).
benchmark
(macro).
benchmark-thunk
(function).
cons-cost
(function).
flops
(function).
funcall-cost
(function).
gc-cost
(function).
make-list-cost
(function).
make-measurement
(function).
make-sequence-cost
(function).
measurement
(structure).
measurement-context
(reader).
(setf measurement-context)
(writer).
measurement-name
(reader).
(setf measurement-name)
(writer).
measurement-timestamp
(reader).
(setf measurement-timestamp)
(writer).
measurement-value
(reader).
(setf measurement-value)
(writer).
measurementp
(function).
monitor
(macro).
monitoring-region-end
(structure).
monitoring-region-start
(structure).
print-report
(function).
print-time
(function).
touch
(function).
with-monitoring-region
(macro).
write-si-unit
(function).
%monitor
(function).
*context*
(special variable).
*default-min-sample-time*
(special variable).
*default-overhead*
(special variable).
*measurements*
(special variable).
*si-prefix-alist*
(special variable).
*timestamp-function*
(special variable).
call-with-fuzzy-timestamps
(function).
call-with-memoization
(function).
call-with-monitoring-region
(function).
compiled-lambda
(function).
copy-measurement
(function).
copy-monitoring-region-end
(function).
copy-monitoring-region-start
(function).
define-memo-function
(macro).
execution-time-of-thunk
(function).
lambda-list-bindings
(function).
make-argument-list
(function).
make-instance-cost
(function).
make-lambda-list
(function).
make-monitoring-region-end
(function).
make-monitoring-region-start
(function).
make-struct-cost
(function).
make-timestamp
(function).
measurements
(generic reader).
(setf measurements)
(generic writer).
monitoring-region-end-context
(function).
(setf monitoring-region-end-context)
(function).
monitoring-region-end-name
(function).
(setf monitoring-region-end-name)
(function).
monitoring-region-end-p
(function).
monitoring-region-end-timestamp
(function).
(setf monitoring-region-end-timestamp)
(function).
monitoring-region-end-value
(function).
(setf monitoring-region-end-value)
(function).
monitoring-region-start-context
(function).
(setf monitoring-region-start-context)
(function).
monitoring-region-start-name
(function).
(setf monitoring-region-start-name)
(function).
monitoring-region-start-p
(function).
monitoring-region-start-timestamp
(function).
(setf monitoring-region-start-timestamp)
(function).
monitoring-region-start-value
(function).
(setf monitoring-region-start-value)
(function).
nth-keyword-name
(function).
print-functions-report
(function).
print-memory-management-report
(function).
print-numerics-report
(function).
sample-execution-time-of-thunk
(function).
store-measurement
(generic function).
time-series
(class).
with-fuzzy-timestamps
(macro).
with-memoization
(macro).
y-intersection-and-slope
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Evaluate FORM multiple times and print the averaged execution time to
*TRACE-OUTPUT*.
Examples:
(bench nil) => 0.00 nanoseconds
(bench (make-hash-table)) => 247.03 nanoseconds
Execute BODY multiple times to accurately measure its execution time in
seconds. The returned values are literally the same as those from an
invocation of MEASURE-EXECUTION-TIME with suitable lambdas.
Examples:
(benchmark (cons nil nil)) -> 3.3d-9 1.0 36995264
(benchmark (gc :full t)) -> 0.031 0.9 90
Monitor VALUE by storing a measurement in *MEASUREMENTS*. If
*MEASUREMENTS* is NIL, no measurement is recorded.
The keyword argument NAME can be used to describe the nature of the measurement. The default name of an measurement is the VALUE form that is the first argument of this macro.
Execute BODY in a region monitoring NAME. This entails the following things:
1. The special variable *MEASUREMENTS* is bound to itself, to ensure that
it has the same value throughout the entire monitoring block.
1. An MONITORING-REGION-START measurement is stored right before executing BODY.
Its value is NIL initially, but later set to the corresponding
MONITORING-REGION-END measurement.
2. For the dynamic extent of BODY, NAME is prepended to the context of all
measurements.
3. A MONITORING-REGION-END measurement is stored once control is transferred outside of BODY. Its value is the corresponding MONITORING-REGION-START measurement.
name
.
Protect OBJECT from compiler optimization.
monitoring-region-end
) stream) ¶monitoring-region-start
) stream) ¶measurement
) stream) ¶structure-object
.
the-cost-of-nothing::*context*
(the-cost-of-nothing::make-timestamp)
A measurement that is only emitted when leaving a monitoring region. Its value is the corresponding monitoring region start.
A measurement that is only emitted when entering a monitoring
region. Its value is the corresponding monitoring region end, or NIL, when
the region is still active.
A list of the names of all surrounding monitoring regions.
An object suitable as a second argument to STORE-MEASUREMENT.
Set the timestamp fuzziness for the dynamic extent of BODY. This can be
useful for profiling performance critical regions of code, where the cost
of measuring the time would otherwise dominate the execution.
A timestamp fuzziness of zero means that each call to MAKE-TIMESTAMP produces a new timestamp. Values bigger than zero mean that MAKE-TIMESTAMP returns the same timestamp for the given number of consecutive calls.
Execute THUNK and return the execution time of THUNK in seconds as a double-float.
Measure the execution time of invoking THUNK more and more often, until the execution time exceeds MIN-SAMPLE-TIME.
time-series
)) ¶automatically generated reader method
time-series
)) ¶automatically generated writer method
null
)) ¶Jump to: | %
(
B C D E F G L M N P S T W Y |
---|
Jump to: | %
(
B C D E F G L M N P S T W Y |
---|
Jump to: | %
*
C N S T V |
---|
Jump to: | %
*
C N S T V |
---|
Jump to: | B C F M N P R S T U |
---|
Jump to: | B C F M N P R S T U |
---|