mdbtxt1
mdbtxt2
Proceed to Safety

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.00


revisions: 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 pageindexrecent changesDEMZ


Robert Munafo's home pages on AWS    © 1996-2024 Robert P. Munafo.    about    contact
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Details here.

This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2023 Jul 03. s.27