-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rethink reporter concept #24
Milestone
Comments
5 tasks
1 task
Decision for v0.1.0 (Feb 1 24):
(Tentatively: Broadcast context onto benchmarks, merge lists) |
Rethought the concept properly, see above. We therefore drop this from the milestone, and close once the base reporter interface is established. |
Closing as the reporter interface was merged in #52 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Right now, our final step (reporting obtained results) is a bit unfinished. We have a
AbstractBenchmarkRunner.report()
method, which takes all reporters by name, and does not even use the runner's state, so it is (essentially) static.At the same time, our
Reporter
class has no state or worthwhile interface - it too gets areport
method, which is an awkward copy of the runner'sreport
method.Maybe we should untangle that and come up with a better abstraction. How about this:
report()
method.BaseReporter
, i.e. the argument given inAbstractBenchmarkRunner.report(to=...)
, we introduce a new class (Sink
?DataSource
?) that maybe also reads benchmark results from, but at minimum writes to a given sink.str | BaseReporter
s, and require the user to loop over the sinks they want to use.Comments / suggestions welcome.
The text was updated successfully, but these errors were encountered: