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

feat(config): Add config struct #42

Merged
merged 9 commits into from
Feb 3, 2024
Merged

feat(config): Add config struct #42

merged 9 commits into from
Feb 3, 2024

Conversation

hendriknielaender
Copy link
Owner

Introduce a new configuration option in zbench that allows users to specify
the number of iterations for benchmarks. This update modifies the run function
to prioritize user-defined iteration count from Config.iterations over the
automatic calculation based on minimum duration. This enhancement provides
greater flexibility in benchmarking by accommodating specific iteration requirements.

@hendriknielaender hendriknielaender added the enhancement New feature or request label Jan 16, 2024
@hendriknielaender hendriknielaender self-assigned this Jan 16, 2024
@hendriknielaender
Copy link
Owner Author

@Bryysen @FObersteiner Please have a look.

Copy link
Collaborator

@Bryysen Bryysen left a comment

Choose a reason for hiding this comment

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

Overall I agree with this. I was going for something similar with my proposed RunArgs but this works just as well.

Bryysen and others added 6 commits February 3, 2024 15:49
…unctionality

* - Store all computed metrics in BenchmarkResult and move
report/pretty-print functionality into BenchmarkResult

- Update examples

- Add total-time metric and display it when pretty-printing

* Refactor and improve/tweak printing logic and doc-comments

- Split BenchmarkResult.prettyPrint into individual functions
  with respect to each metric to be pretty-printed

- Propagate choice of writer for pretty-print functions within
  BenchmarkResult

- Add a buffered std-out writer as a field of BenchmarkResults. We
  use this for all formatted printing-operations within BenchmarkResults.

- Make use of BenchmarkResults.getColor to color-code the total-time metric
  in BenchmarkResults.prettyPrint

- Add various doc-comments

* Add more/improve doc comments

* - Move individual pretty-print functions to util/format

- Rename BenchmarkResult.percs to BenchmarkResult.percentiles
After 1389ebf we forget to print a newline in the for-loop
within BenchmarkResults.prettyPrint, causing messed-up formatting.
We also forgot to call BenchmarkResults.getColor when determining
the color for total-time. Both of these are now fixed. Also moved
prettyPrintHeader to util/format.zig for consistency.
…unctionality

* - Store all computed metrics in BenchmarkResult and move
report/pretty-print functionality into BenchmarkResult

- Update examples

- Add total-time metric and display it when pretty-printing

* Refactor and improve/tweak printing logic and doc-comments

- Split BenchmarkResult.prettyPrint into individual functions
  with respect to each metric to be pretty-printed

- Propagate choice of writer for pretty-print functions within
  BenchmarkResult

- Add a buffered std-out writer as a field of BenchmarkResults. We
  use this for all formatted printing-operations within BenchmarkResults.

- Make use of BenchmarkResults.getColor to color-code the total-time metric
  in BenchmarkResults.prettyPrint

- Add various doc-comments

* Add more/improve doc comments

* - Move individual pretty-print functions to util/format

- Rename BenchmarkResult.percs to BenchmarkResult.percentiles
* chore(ci): remove zig master build

* chore(ci): rename build examples
@hendriknielaender hendriknielaender marked this pull request as ready for review February 3, 2024 16:35
@hendriknielaender hendriknielaender merged commit 8a20553 into main Feb 3, 2024
5 checks passed
@hendriknielaender hendriknielaender deleted the config branch March 19, 2024 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants