About BestGuess
BestGuess was originally conceived and developed as part of my research at North Carolina State University. The tools I could find for command-line benchmarking were either inaccurate, missing features I needed, or using unfounded statistics (sometimes all three).
I do not recommend writing numerical code in C. Numerical calculations are
difficult enough without adding the footguns of the C language. I wrote
BestGuess in C in order to have low-level control over the fork
, exec
, and
wait4
system calls, to avoid measurement overhead. When I wrote the code for
the statistical calculations, it was a decision favoring simplification over all
else:
- It is simpler for the user to get these calculations (and some hacky “graphs on the terminal”) from the same tool that does the measurements;
- It is simpler for the user to install a tool that has no external dependencies; and
- It is simpler for the user to install (and potentially enhance) a tool that is written in only one language, thus needing only one compiler toolchain.
The result is a set of statistics routines that I believe are accurate, but which may need fixes as BestGuess is used by more people and on more platforms. (C notoriously varies across platforms, though it is available for virtually all of them.)
BestGuess lets you save all the raw data, though, so you can always analyze it with a proper statistics tool. Still, the built-in calculations should be good enough for initial experiments, and to guide the design of larger experiments.
BestGuess is released under the MIT license.
You can get BestGuess from gitlab.