You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The longitudinal plots are configured in the `plot` section of `bench_runner.toml`.
132
+
`bench_runner` will produce longitudinal plots comparing versions in a series to a specific base version, as well as showing the effect of various flags on the same commits over time.
133
133
134
-
**TODO: Describe this in more detail**
134
+
##### Runner plot styles
135
+
136
+
For each runner in your `bench_runner.toml`, you can specify a `plot` table with the following keys to control how that runner is rendered in the longitudinal plots:
137
+
138
+
-`name`: A human-friendly name to display in the plot legend
139
+
-`style`: A [matplotlib line style](https://matplotlib.org/stable/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D.set_linestyle)
140
+
-`marker`: A [matplotlib marker](https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers)
141
+
-`color`: A [matplotlib color](https://matplotlib.org/stable/users/explain/colors/colors.html#colors-def)
142
+
143
+
#### Longitudinal plot configuration
144
+
145
+
The longitudinal plot shows the change of a version branch over time against a specified base version. It is made up of multiple subplots, each with its own head and base, and optionally configuration flags.
146
+
147
+
In `bench_runner.toml`, the `longitudinal_plot` table has a `subplots` key which is an array of tables with the following keys:
148
+
149
+
-`base`: The base version to compare to. Should be a fully-specified version, e.g. "3.13.0".
150
+
-`version`: The version series to use as a head. Should be a 2-part version, e.g. "3.14"
151
+
-`flags`: (optional) A list of flags to match to for the head versions
152
+
153
+
For example:
154
+
155
+
```toml
156
+
[longitudinal_plot]
157
+
subplots = [
158
+
{ base = "3.10.4", version = "3.11" },
159
+
{ base = "3.12.0", version = "3.13" },
160
+
{ base = "3.13.0", version = "3.14" },
161
+
{ base = "3.13.0", version = "3.14", flags = ["JIT"] }
162
+
]
163
+
```
164
+
165
+
#### Flag effect plot configuration
166
+
167
+
The flag effect plot shows the effect of specified configuration flags against a base with the same commit hash, but different configuration flags.
168
+
169
+
In `bench_runner.toml`, the `flag_effect_plot` table has a `subplots` key which is an array of tables with the following keys:
170
+
171
+
-`name`: The description of the flags to use in the title.
172
+
-`head_flags`: A list of flags to use as the head.
173
+
-`base_flags`: (optional) A list of flags to use as the base. By default, this is a default build, i.e. no flags.
174
+
-`runner_map`: (optional) If you need to map a runner to a base in a different runner, you can provide that mapping here. For example, with tail-calling, you may want to compare runners configured to use clang against runners configured with the "default compiler" for a given platform. The mapping is from the "head" runner nickname to the "base" runner nickname.
0 commit comments