askibench
is a command-line tool for plotting benchmark results with ASCII grouped bars.
It relies on AskiPlot to generate the output.
To compile only:
make
To compile and install:
make install INSTALL_DIR=/some/path
AskiBench requires inputs to be CSV files with two headers: threads
and time
.
For example, this is the content of version1.csv
used to generate the plots on this readme.
cat version1.csv
threads,time
1,15865.5
1,15854.9
1,16054.6
1,15971.4
1,15998.1
2,10612.9
2,10820.1
2,10687
2,10492.1
2,10270.4
4,6282.92
4,6255.56
4,6215.73
4,6307.35
4,6231.09
8,4010.53
8,3944.6
8,3973.14
8,3978.65
8,3985.16
In case of thread configurations with many runs, the median is used.
askibench version1.csv version2.csv
_____________________________________________ AskiBench ____________________________________________
| @ version1 |
| $ version2 |
|____________|
15971
_______ 15697
|@@@@@@@| _______
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| 10613
|@@@@@@@||$$$$$$$| _______
|@@@@@@@||$$$$$$$| |@@@@@@@|
|@@@@@@@||$$$$$$$| |@@@@@@@| 9153
|@@@@@@@||$$$$$$$| |@@@@@@@| _______
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| 6256
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| _______
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@| 4871
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@| _______
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| 3979
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| _______
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@| 2822
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@| _______
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
<___ threads=1 __> <___ threads=2 __> <___ threads=4 __> <___ threads=8 __>
Given the same data and a baseline file, AskiBench can generate a speedup plot. Speedups are computing using the geomean of the speedups w.r.t. the geomean of the baseline.
askibench version1.csv version2.csv --speedup baseline.csv
_____________________________________________ AskiBench ____________________________________________
| @ version1 |
| $ version2 |
|____________| 4.46
_______
|$$$$$$$|
|$$$$$$$|
|$$$$$$$|
|$$$$$$$|
|$$$$$$$|
|$$$$$$$|
3.16 |$$$$$$$|
_______ |$$$$$$$|
|@@@@@@@||$$$$$$$|
2.56 |@@@@@@@||$$$$$$$|
_______ |@@@@@@@||$$$$$$$|
|$$$$$$$| |@@@@@@@||$$$$$$$|
2.01 |$$$$$$$| |@@@@@@@||$$$$$$$|
_______ |$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
1.37 |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
1.19 _______ |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
_______ |$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
0.79 0.80 |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
_______ _______ |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
|@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$| |@@@@@@@||$$$$$$$|
<___ threads=1 __> <___ threads=2 __> <___ threads=4 __> <___ threads=8 __>