-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Optimize production binaries #9224
Comments
Thanks for filing this issue! I remember you mentioning this in #9031. I would like to push back a bit here. IMO, the point of Profiling the wrong thing can be maddening when trying to fix a regression in the benchmark results. For example, if our codspeed benchmarks are run with the My personal feeling here is to not add a separate |
@BurntSushi Thanks for your response, if I didn't understand correctly, please tell me.
|
Benchmarking is not just about CI, as developers we need to be able to run benchmarks locally while optimizing code. If we're not using the same profile as we will eventually release to users, we could make the wrong optimizations. A goal in #9031 was to improve the developer experience and reduce the amount of time it takes to work on performance improvements. We believe this will yield more significant improvements in the long run. As @BurntSushi said: if we have concerns after using this profile for a while, we can consider adding a more optimized profile. In the meantime, I think the performance regression from #9031 is not significant enough to warrant the additional complexity. |
I close this issue considering that we haven't received any user feedback that ruff got noticeably slower for them after releasing #9031 We can revisit more involved optimisations of our release binary in the future (and also explore e.g. profiling driven optimisations etc). |
#9031 Improved compile-time, but it also affects runtime, this issue opened to create a separated build profile for production.
Note that current
release
profile is used for benchmarking (comparing Ruff to itself) and newproduction
profile supposed to have better runtime and comparing Ruff to foreign tools. We can document when which profile should use.By separating these profiles, perhaps we could enhance current
release
profile to have even faster compile-time.The text was updated successfully, but these errors were encountered: