Skip to content

CLI tool for plotting benchmark results with ASCII grouped bars

License

Notifications You must be signed in to change notification settings

fsossai/askibench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

CLI tool for plotting benchmark results with ASCII grouped bars

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published