Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Benchmarking suite #6235

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

Merged
merged 4 commits into from
Mar 23, 2022
Merged

Benchmarking suite #6235

merged 4 commits into from
Mar 23, 2022

Conversation

ethomson
Copy link
Member

There are two very nice things about having a CLI -- first, we can use it in anger, and understand some of the pain points, especially around performance. And second, we can use standard utilities against it -- things like hyperfine.

We know that we're deficient in a lot of areas, but being able to actually measure that is important.

This introduces a wrapper script around hyperfine that will set up test environments (much like clar) using our existing test resources. It also includes some handy cross-platform functions for things like clearing the disk cache.

There are only very simplistic examples there now - exercising the hash-object and cat-file commands that we have in the CLI. But I think that this will be very useful as we add clone.

Rename our build setup scripts to include the `build` name so that we
can add additional CI setup scripts with no ambiguity.
Allow for options in the `cmake --build` phase, so that callers can
specify (eg) the config type.
Add a benchmark test suite that wraps hyperfine and is suitable for
producing data about test runs of a CLI or A/B testing CLIs.
@ethomson ethomson force-pushed the ethomson/cli_benchmarks branch from 776a793 to 4c6eab9 Compare February 28, 2022 04:44
@ethomson ethomson merged commit 3a08bc4 into main Mar 23, 2022
@ethomson ethomson deleted the ethomson/cli_benchmarks branch March 23, 2022 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant