A LISP programmer knows the value of everything, but the cost of nothing.
— Alan Perlis
This library is a toolbox for measuring the run time of Common Lisp code. It provides macros and functions for accurate benchmarking and lightweight monitoring. Furthermore, it provides predefined benchmarks to determine the cost of certain actions on a given platform and implementation.
I hope you find it useful. If you have new ideas for benchmarks, or suggestions on how to improve existing ones, feel free to contact me.
To run all predefined benchmarks, simply execute
(asdf:test-system :the-cost-of-nothing)
To obtain the execution time of an expression as a double-float in seconds, execute
(benchmark EXPRESSION)
To have said execution time immediately and human-readably written to trace-output (much like CL:TIME), execute
(bench EXPRESSION)
Coming soon.
There are lies, damned lies, and benchmarks.