Skip to content

Latest commit

 

History

History
135 lines (125 loc) · 6.08 KB

README.md

File metadata and controls

135 lines (125 loc) · 6.08 KB

AskiBench

askibench is a command-line tool for plotting benchmark results with ASCII grouped bars. It relies on AskiPlot to generate the output.

Installation

To compile only:

make

To compile and install:

make install INSTALL_DIR=/some/path

Input format

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

Example

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 __>

Speedup plots

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 __>