Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 3.29 KB

README.md

File metadata and controls

53 lines (42 loc) · 3.29 KB

Benchmark Analyzer / Visualizer

A humble tool made in Python3 to analyze benchmark run times (in ms.) from comma separated value files that generates staticstics (stored in a .json file) and can be read by the visualizer (HTML/Javascript) to display plots (and statistics) of these benchmark runs.

Python3 dependencies (Analyzer):

  • numpy
  • scipy

Javascript dependencies (Visualizer):

  • jQuery
  • PlotlyJS
  • jquery-tagsinput-revisited

How to use:

  • Analysis:

    • Run analyzer/benchmark_analyzer.py:
      • python benchmark_analyzer.py -in "path/to/comma_separated_values_text_file.txt" -out "path/to/output_folder" -op "Operation Name"
    • Copy/Move the content of path/to/output_folder to visualizer/benchmark_data folder
    • Run visualizer/benchmark_data/update_operations_indexer.py to index the newly added content (this will update visualizer/benchmark_data/operations_indexer.json which is needed in the different visualization modes)
  • Visualization:

    • Run visualizer/start_local_server.py, this will start a local host server at port 8080 (or skip this if you already have the visualizer uploaded to a server)
    • Open a web browser (preferably Chrome or Firefox) and go to this address: http://localhost:8080/ (or to the web address where the visualized was uploaded)
    • You will see 6 different visualization modes:
      • Single: to check a single benchmark statistics, this will display a table of statistics for a specific benchmark run and 3 plots (Histogram, Density (KDE), Box plot)
      • Multi: to check a sequence of benchmark statistics, this will display plots (Box plot, Density (KDE)) for the selected benchmarks range
      • Compare: to check the difference between two selected benchmark runs, this will display a table of statistics for both benchmarks runs and 2 plots (Box plot, Density (KDE))
      • Compare Multi: to check the difference between multiple arbitrarily selected benchmark runs, this will display a table of statistics for all benchmarks runs and 2 plots (Box plot, Density (KDE))
      • Tag Search: to check a particular statistic among multiple benchmark runs filtered with tags, this will display a table of with the value of the selected statistic for each benchmark run
      • From File: Same as Single mode but choosing the benchmark from a .json file (generated by the analyzer)


The repository contains a test_data folder with already created input/output data for the analyzer that was added later to visualizer/benchmark_data folder so you can test the visualization by just starting the local server and accessing the localhost from a web browser (or by directly accessing the web address where the visualizer was uploaded).

Visualization Modes:

Single Mode:




Multi Benchmark Mode:




Compare Mode:




From File Mode:

\