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
{{ message }}
Repository navigation
Move analysis tools (such as plotting) to pyperf #380
I'm not sure where all the above belongs to. If something cannot be moved, I would be more than happy also to make bench runner disjoint from GitHub so it can be run manually or on another automation system (Gitlab, Jenkins, cron)
I'd put these things into 2 categories: Things that are (a) about analyzing 1-2 benchmark runs, and (b) things that are about managing a whole set of benchmark runs. The profiling plots and violin plots are in (a), and could reasonably be moved to pyperf (they are just analogous to tools that already exist there). Things like (b) don't really make sense for pyperf.
If we want to handle things like (b) on things other than GitHub Actions, that really just means reimplementing the workflow descriptions in bench_runner/templates in the format necessary for some other tool. Most of the logic in there already calls out to functionality implemented in Python elsewhere anyway ... we could be more extreme there are also implement the checkout and compilation steps in Python.
Let me propose this as a way forward:
Move as many of the individual steps (checkout, compilation, tuning, benchmarking) into a Python script so it's portable between automation systems.
Implement the configuration on top of that for another automation system.
Move the simple comparative plots to pyperf, and then adjust bench_runner to use those.
I can handle (1) as a first step. It sounds like you are interested in (2). (3) is sort of a "nice to have" and is disjoint and optional from the rest, IIUC.
Activity
diegorusso commentedon Mar 27, 2025
Wishlist:
I'm not sure where all the above belongs to. If something cannot be moved, I would be more than happy also to make bench runner disjoint from GitHub so it can be run manually or on another automation system (Gitlab, Jenkins, cron)
mdboom commentedon Mar 27, 2025
I'd put these things into 2 categories: Things that are (a) about analyzing 1-2 benchmark runs, and (b) things that are about managing a whole set of benchmark runs. The profiling plots and violin plots are in (a), and could reasonably be moved to pyperf (they are just analogous to tools that already exist there). Things like (b) don't really make sense for pyperf.
If we want to handle things like (b) on things other than GitHub Actions, that really just means reimplementing the workflow descriptions in
bench_runner/templatesin the format necessary for some other tool. Most of the logic in there already calls out to functionality implemented in Python elsewhere anyway ... we could be more extreme there are also implement the checkout and compilation steps in Python.Let me propose this as a way forward:
I can handle (1) as a first step. It sounds like you are interested in (2). (3) is sort of a "nice to have" and is disjoint and optional from the rest, IIUC.
mdboom commentedon Apr 18, 2025
Step (1) is complete.