Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 2.17 KB

README.md

File metadata and controls

61 lines (41 loc) · 2.17 KB

pycelerograph 1.0

Python utility to convert Celero benchmark results to pretty Bokeh graphs.

Prerequisites

Bokeh 1.2.0 or later.

See requirements.txt for details.

Quickstart

pip install -r requirements.txt

Once you have built Celero runner for your benchmark, generate CSV report:

benchmark_cpp_sort -t benchmark_cpp_sort.csv

Then, generate HTML files with graphs in the current directory:

python celerograph.py benchmark_cpp_sort.csv

See the example for sample HTML output.

Features

  • Reads Celero report in CSV format into dictionary in memory.
  • Processes single CSV file or all CSV files in directory.
  • Can also process single concatenated CSV file with multiple benchmark groups.
  • Plots six graphs for the Celero measurements: Baseline, us/Iteration, Iterations/sec, Min (us), Max (us), Mean (us).
  • Plots the graphs in 2x3 grid layout.
  • Plots bar charts only.
  • Adds single Bokeh toolbar at the top of HTML page.
  • Generates single HTML report per benchmark group (outputs HTML files in the current directory).
  • Generates index.html file with linking all generated individual reports.
  • Is dead simple to modify, customise and extend.

Features Plan

  • Add tests. It is Python. It is shame to not to have any!
  • Optimise format of the in-memory dictionary to avoid re-aggregating of the measurements.
  • Output the dictionary to JSON - currently, class Column(Enum) is not serializable with JSON encoder.

License

This is free and unencumbered software released into the public domain.

http://unlicense.org

Credits