diff options
Diffstat (limited to 'nemesis/html_gen.py')
-rw-r--r-- | nemesis/html_gen.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nemesis/html_gen.py b/nemesis/html_gen.py new file mode 100644 index 0000000..ea7df15 --- /dev/null +++ b/nemesis/html_gen.py @@ -0,0 +1,38 @@ +import plotly.graph_objects as go +from plotly.subplots import make_subplots + +def plot_results(results, filename): + fig = make_subplots(rows=len(results), cols=1, shared_xaxes=True) + + for i, (coro_name, x_values) in enumerate(results.items(), start=1): + x_list = [] + y_list = [] + hover_text = [] + + for speedup, experiments in x_values.items(): + for experiment in experiments: + y_value = sum(experiment.values()) + + x_list.append(speedup) + y_list.append(y_value) + + breakdown = "<br>".join([f" {key[0]} ({key[1]}): {round(value, 4)}" for key, value in experiment.items()]) + hover_text.append(f"{coro_name}<br>Speedup: {speedup}<br>Total Wait: {round(y_value, 4)}<br>Breakdown:<br>{breakdown}") + + fig.add_trace(go.Scatter( + x=x_list, + y=y_list, + mode='markers', + name=coro_name, + hoverinfo='text', + hovertext=hover_text, + )) + + fig.update_layout( + title="Potential Speedups for ", + xaxis_title="Speedup (times faster)", + yaxis_title="Total Wait (seconds)", + showlegend=True, + ) + + fig.write_html(filename) |