diff --git a/scripts/plot_histogram.py b/scripts/plot_histogram.py new file mode 100755 index 0000000..2fc5df0 --- /dev/null +++ b/scripts/plot_histogram.py @@ -0,0 +1,27 @@ +#!/usr/bin/python + +"""This program shows `hyperfine` benchmark results as a histogram.""" + +import argparse +import json +import matplotlib.pyplot as plt + +parser = argparse.ArgumentParser(description=__doc__) +parser.add_argument("file", help="JSON file with benchmark results") +parser.add_argument("--title", help="Plot title") +args = parser.parse_args() + +with open(args.file) as f: + results = json.load(f)["results"] + +commands = [b["command"] for b in results] +all_times = [b["times"] for b in results] + +plt.hist(all_times, label=commands, bins="auto", histtype="bar") +plt.legend(prop={'family': ['Source Code Pro', 'Fira Mono', 'Courier New']}) + +plt.xlabel("Time [s]") +if args.title: + plt.title(args.title) + +plt.show() diff --git a/scripts/plot_benchmark_results.py b/scripts/plot_whisker.py similarity index 100% rename from scripts/plot_benchmark_results.py rename to scripts/plot_whisker.py