MCPcopy Create free account
hub / github.com/It4innovations/hyperqueue / render_hq_comparison

Function render_hq_comparison

benchmarks/src/postprocessing/overview.py:76–126  ·  view source on GitHub ↗
(entries: List[BenchmarkEntry])

Source from the content-addressed store, hash-verified

74
75
76def render_hq_comparison(entries: List[BenchmarkEntry]):
77 def render_bench_subtab(child, name):
78 return Tabs(tabs=[Panel(child=child, title=name)])
79
80 tabs = []
81 reports = [entry.report for entry in entries]
82 widgets = {
83 "Profiling data": [],
84 "Global usage": [],
85 "Node usage": [],
86 "Process usage": [],
87 }
88 node_maxes = {}
89
90 for key in widgets:
91 for report in reports:
92 name = report.directory.name
93 panel = Tabs()
94
95 if key == "Profiling data":
96 panel = render_bench_subtab(render_profiling_data(report), name)
97 elif key == "Global usage":
98 per_node_df = create_global_resources_df(report.monitoring)
99 panel = render_bench_subtab(render_global_resource_usage(report, per_node_df), name)
100 elif key == "Node usage":
101 # Keep maximum of each subfigure for axis sync between rows
102 per_node_df = create_global_resources_df(report.monitoring)
103 child = render_nodes_resource_usage(report, per_node_df)
104 figs = child.children[0].children[1].children
105 for fig in figs:
106 figmax = fig.y_range.end
107 if node_maxes.get(fig.title.text) is not None:
108 node_maxes[fig.title.text] = max(figmax, node_maxes[fig.title.text])
109 else:
110 node_maxes[fig.title.text] = figmax
111 panel = render_bench_subtab(child, name)
112 elif key == "Process usage":
113 per_process_df = create_per_process_resources_df(report.monitoring)
114 panel = render_bench_subtab(render_process_resource_usage(report, per_process_df), name)
115 widgets[key].append(panel)
116
117 for w in widgets["Node usage"]:
118 figs = w.tabs[0].child.children[0].children[1].children
119 for fig in figs:
120 ymax = node_maxes[fig.title.text]
121 fig.y_range.end = ymax
122
123 for key in widgets:
124 tabs.append(Panel(child=row(widgets[key]), title=key))
125
126 return Tabs(tabs=tabs)
127
128
129def render_durations(title: str, durations: List[float]):

Callers 2

generate_comparison_htmlFunction · 0.85
callbackFunction · 0.85

Calls 9

render_bench_subtabFunction · 0.85
render_profiling_dataFunction · 0.85
appendMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected