-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
benchmark| Potential solution for performance regressions #3473
benchmark| Potential solution for performance regressions #3473
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a much needed addition to be able to make performances better. I know it's a draft, but I reviewed some things let me know what you think.
PR #3498 is a slice of this PR. |
8c57c1c
to
2337556
Compare
Here we establish baseline benchmarks for the system when used in minimal way. Here we just confirm that -j1 vs -jN gives some boost in performance under simple situations, establishing a baseline for other benchmarks.
2337556
to
5b23a24
Compare
Having used this code in anger, this PR has been updated to include the most useful change and I think it should go in. I have removed some of the noise. The files that have been removed muddied the water:
|
Steps
doc/whatsnew/<current release.rst>
.Description
These commits generate comparable performance data for a run of benchmarked code.
This is a potential 1st step in establishing performance regression tests. Later work would be to actually do the comparison against the target-branch somehow.
We use pytest-benchmark here, rather than asv, because pytest-benchmark was easier to integrate into the existing tests.
Use-case
A use-case for this functionality is:
tests/benchmark/test_baseline_benchmarks.py
for an exampletox -e benchmark
tox -e benchmark
00002-something.json
.tox/
runpy.test-benchmark compare 0001 0002
- the numbers are used as a glob to find files that match, use the numbers that refer to thetox -e benchmark
runs you want to compare.Baseline benchmark for pylint
The baseline benchmark in this PR attempts to benchmark basic runs:
Type of Changes
Related Issue