Runtime Benchmarking
Robert P. Munafo, 1996 Oct 20.
%%not finished yet
A method of evaluating the relative performance of two or more alternative algorithms, to determine which is the fastest. The evaluation is done by performing a benchmark at runtime (usually while the program is starting up).
The reason for performing benchmarks at runtime is to remove assumptions about the performance attributes of the system on which the program is running. This is particularly important for programs that will run on a wide range of machines.
Runtime Benchmarking is a type of Ideal Parameter Selection, one of many families of Speed Improvements.
Example
The recent deep-zooming program Kalles Fraktaler 3 uses built-in hardware integer math, single, double, and 80-bit extended precision floating point to implement floatexp and softfloat formats, then performs runtime benchmarking to generate a "profile" that is remembered for subsequent work performed on the same machine. KF3 calls this process "wisdom".
./fraktaler-3.gcc --benchmark-wisdom loaded wisdom /home/a/.local/share/uk.co.mathr/fraktaler-3/wisdom.toml 1.0 double 53:11 ..... 371373.15 -1.0 double 53:11 ... 20815.26 0.0 double 53:11 ...(0!<!0) -1.00 1.0 float 24:8 ..... 265315.20 -1.0 float 24:8 ... 24678.10 0.0 float 24:8 ...(0!<!0) -1.00 1.0 floatexp 24:24 .. 4931.66 -1.0 floatexp 24:24 . 803.28 0.0 floatexp 24:24 ...(0!<!0) -1.00 -1.0 long double 64:15 .. 5962.08 1.0 softfloat 32:31 .. 5773.28 -1.0 softfloat 32:31 . 690.49 0.0 softfloat 32:31 ...(0!<!0) -1.00revisions: 19961020 oldest on record; 20030703 add Kalles Fraktaler 3 example
From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2024.
Mu-ency main page — index — recent changes — DEMZ
This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2023 Jul 03. s.27