A small tool to do the statistics legwork on benchmarks etc.
- Optimizing ministat to take advantage of modern CPU features and compiler optimizations.
Written by Poul-Henning Kamp, lured into a dark Linux alley and clubbed over the head and hauled away to Github by yours truly.
There should be no dependencies besides the standard libraries and a functional tool-chain.
$ cd ministat/
$ make
$ make PREFIX=/usr install
install -m 0755 ministat /usr/bin/ministat
The FreeBSD man page is very relevant, pursue it here.
Usage: ministat [-C column] [-c confidence] [-d delimiter(s)] [-ns] [-w width] [file [file ...]]
confidence = {80%, 90%, 95%, 98%, 99%, 99.5%}
-C : column number to extract (starts and defaults to 1)
-d : delimiter(s) string, default to " \t"
-n : print summary statistics only, no graph/test
-q : print summary statistics and test only, no graph
-s : print avg/median/stddev bars on separate lines
-w : width of graph/test output (default 74 or terminal width)
From the FreeBSD man page
$ cat << EOF > iguana
50
200
150
400
750
400
150
EOF
$ cat << EOF > chameleon
150
400
720
500
930
EOF
$ ministat -s -w 60 iguana chameleon
x iguana
+ chameleon
+------------------------------------------------------------+
|x * x * + + x +|
| |________M______A_______________| |
| |________________M__A___________________| |
+------------------------------------------------------------+
N Min Max Median Avg Stddev
x 7 50 750 200 300 238.04761
+ 5 150 930 500 540 299.08193
No difference proven at 95.0% confidence