summaryrefslogtreecommitdiff
path: root/nemesis/html_gen.py
diff options
context:
space:
mode:
Diffstat (limited to 'nemesis/html_gen.py')
-rw-r--r--nemesis/html_gen.py38
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)