-
-
Notifications
You must be signed in to change notification settings - Fork 399
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
Add Codspeed performance benchmarks #1831
Conversation
8cd850b
to
115fa65
Compare
Pull Request Test Coverage Report for Build 12535084212Details
💛 - Coveralls |
ab462d7
to
4946ea9
Compare
@abondar could you please add the repo to https://codspeed.io/? Here's the guide. I don't seem to have enough permissions. Lack of the |
@henadzit I am not sure how to proceed with it - I added repository to list of repos in codespeed, but the moment it should have shown me popup with token to copy - popup immediately appeared and disappeared and I didn't have a chance to note down the token. But it doesn't allow me to resetup integration again, as it says "Disabling repository is not supported yet" |
You should be able to find the token in Settings. Here's how it looks in my fork: |
CodSpeed Performance ReportCongrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
Seems like it works now |
Description
Motivation and Context
Codspeed should help us tracking performance regression and improvement. It lets you see the time difference introduced by commits but also see how long each method or function takes. I'm planning to do some performance related work soon, so it should be helpful. Codspeed is used by other large open-source projects, for instance, pydantic.
Here's a report example https://codspeed.io/henadzit/tortoise-orm/branches/feat%2Fcodspeed, although it lacks the comparison with the baseline because, well, there is no baseline yet. It should start appearing after this PR is merged. This example is from PR in my fork.
Here's an example of
Model.get
profiling (we can already see that 20% of time is spent in pypika which is crazy):How Has This Been Tested?
make ci
pytest tests/benchmarks --codspeed
Checklist: