Skip to content
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

Bench builder API #7324

Merged
merged 3 commits into from
Jul 19, 2023
Merged

Bench builder API #7324

merged 3 commits into from
Jul 19, 2023

Conversation

JaroslavTulach
Copy link
Member

@JaroslavTulach JaroslavTulach commented Jul 18, 2023

Pull Request Description

Designing new Bench API to collect benchmarks first and only execute them then. This is a minimal change to allow implementation of #7323 - e.g. ability to invoke a single benchmark via JMH harness.

Important Notes

This is just the basic API skeleton. It can be enhanced, if the basic properties (allowing integration with JMH) are kept. It is not intent of this PR to make the API 100% perfect and usable. Neither it is goal of this PR to update existing benchmarks to use it (74ac8d7 changes only one of them to demonstrate it all works somehow). It is however expected that once this PR is integrated, the newly written benchmarks (like the ones from #7270) are going to use (or even enhance) the new API.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • All code follows the style guides.
  • All code has been tested:
    • Vector/Operations.enso continue to run

@JaroslavTulach JaroslavTulach added the CI: No changelog needed Do not require a changelog entry for this PR. label Jul 18, 2023
@JaroslavTulach JaroslavTulach added this to the Beta Release milestone Jul 18, 2023
@JaroslavTulach JaroslavTulach self-assigned this Jul 18, 2023
Copy link
Member

@radeusgd radeusgd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

While we are at it, I think it could be worth to revisit the format of the output that Bench.measure does - maybe we should allow to register the results in the Bench class and its children and allow exporting to CSV? @Akirathan wouldn't that make then loading benchmark results much easier?

@JaroslavTulach JaroslavTulach added the CI: Ready to merge This PR is eligible for automatic merge label Jul 18, 2023
@JaroslavTulach
Copy link
Member Author

register the results in the Bench class and its children and allow exporting to CSV?

Please generate this XML format, if you want to get on par with existing JMH support.

@enso-bot
Copy link

enso-bot bot commented Jul 19, 2023

Jaroslav Tulach reports a new STANDUP for yesterday (2023-07-18):

Progress: - benchmarking discussions: #7270 (comment)

Next Day: Bugfixes, cleanup & performance

@Akirathan
Copy link
Member

Akirathan commented Jul 19, 2023 via email

@mergify mergify bot merged commit a5ec6a9 into develop Jul 19, 2023
23 of 26 checks passed
@mergify mergify bot deleted the wip/jtulach/Bench_Collect_7323 branch July 19, 2023 09:18
@enso-bot
Copy link

enso-bot bot commented Jul 20, 2023

Jaroslav Tulach reports a new STANDUP for yesterday (2023-07-19):

Progress: - bench builder API merged: #7324

Next Day: Bugfixes, cleanup & performance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: No changelog needed Do not require a changelog entry for this PR. CI: Ready to merge This PR is eligible for automatic merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants