-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
1.2 performance regression #6047
Comments
I suspect you are mostly measuring variability in download speed. I tweaked your Makefile so that
ie what is being measured here is absolutely dominated by time spent downloading from pypi. Also notable is that I see approximately the same timings for both versions.
I suspect you are simply seeing variation in download speed. |
The results are repeatable, so I don't think this is a one-off network blip. Here is another run I just did: The operations being run between these two are identical with the exception of one being installed with I've run a bunch of these benchmarks and while there is some variability between them, it is nowhere near what I'm seeing here. You can see the typical variability in the min/max values here across 4 runs: |
do you agree that what you are mostly measuring is network download speed? eg do you, as I do, see the if yes then it's hard to see how to interpret your timings of 80s / 175s as anything other than measuring download speed. Perhaps you have flipped a coin twice and hit heads twice; perhaps you are consistently being throttled at the same point in your run, who knows. |
I'm not trying to interpret the results, just sharing the data. poetry 1.2.0b3 is ~2x slower than poetry 1.1.14 consistently (I've seen this more than twice) for the exact same operations. I'll merge the PR to test this version into the regularly scheduled tests and you can see if the results improve over time. |
per my earlier comment, that doesn't match my attempts to reproduce - in which the two versions consistently perform about the same. |
I saw 1.2 was released and still contains the performance regression (perhaps due to #6060). The 1.1 release will drop off our testing matrix, but you can still see the historical comparison here: https://htmlpreview.github.io/?https://github.com/lincolnloop/python-package-manager-shootout/blob/e1c48f257c0e4104a9c5e3ed1b219ba5a028d0b2/index.html These are the results for installation: |
I'm also seeing this after upgrading to 1.2, running poetry in Gitlab pipelines. The exact same dependencies are taking over twice as long to install when comparing to 1.1.4 consistently. |
I made repeated tests of installing my project using poetry v1.1.15 and v1.2
OS: Debian 11 Both tests were done repeatedly and only latest times are shown. My pyproject.toml:
Note: New documentation describes how can one install multiple versions of poetry using pipx concurrently. This makes testing much simpler. |
I have also noticed that poetry 1.2.0 is significantly slower that 1.1.15 and have downgraded poetry in our renovate docker image that we use to update dependencies in our projects. The integration tests for this dependency system went from about 10 minutes to 30. When we downgraded poetry to 1.1.15, the integration tests went back to 10 minutes. |
@radoering with the current poetry branch the total installation times got on par with the poetry v1.1.15:
Anyway, when I run the test with the poetry from branch 1.2, the second attempt got stuck and I had to kill it after 2 minutes. This happened only once, later attempts to repeat the installation did not fail. Note: by "clean install" I mean
|
We have had a similar experience, it seems like the best course of action is to use the latest branch build as per @vlcinsky comment. |
Poetry 1.2.1 has been released, so you can use it instead of 1.2 branch now. |
Closing as 1.2.1 is released. |
Yes. I can confirm that with the poetry v1.2.1 the clean installation time is now on par with poetry v1.1.5 Well done (@radoering?). Thanks. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Issue
I mentioned this in Discord, but didn't want it to get lost in the shuffle. I put together a Python package manager benchmark. I got a suggestion to add the current prerelease to the test suite.
Preliminary results showed the same operations taking ~2x the time vs. the non prerelease version. You can see results here: https://github.com/lincolnloop/python-package-manager-shootout/actions/runs/2705531257
Compare
elapsed time
betweenpoetry
andpoetry-pre
:The text was updated successfully, but these errors were encountered: