Were there any significant performance improvement...
# general
h
Were there any significant performance improvements for the
pants generate-lockfiles
goal in recent versions? I’m a few versions behind so if I can improve our generation time with a bump that would be great, before I attempt to finish my uv-based lockfile converter.
f
A reminder for readers: You can upgrade Pex ahead of upgrading Pants itself (as Joe's message implies).
h
Thanks both. We have bumped Pex separately from Pants previously, just not to 2.32.0
c
pip 25.1 has significant resovler changes; but it is unclear under which cases that nets out to faster https://pip.pypa.io/en/stable/news/#v25-1
d
yeah, we didn't see as big of a jump for 25.1
the biggest speed up we gained with resolvers was pinning as many versions as possible. The biggest culprit in our case was boto. Pex/pip were checking hundreds of versions during resolution because we had a '>=' version constraint in requirements
w
the biggest speed up we gained with resolvers was pinning as many versions as possible
This is true across a lot of dimensions.
interpreter_constraints
and then the pip installed library versions themselves
h
the biggest speed up we gained with resolvers was pinning as many versions as possible. The biggest culprit in our case was boto. Pex/pip were checking hundreds of versions during resolution because we had a ‘>=’ version constraint in requirements
Is there a nice way of outputting this info to see if there’s any glaring bottlenecks? Previously we were using
uv
to compile a constraints.txt which is almost instant, with the Pex lockfile generation we’re looking at ~ 12-15 minutes for all requirements.
f
I'd say the pip.log would be a good place to start.
Although not sure Pants captures it consistently currently.
But I imagine running
--keep-sandboxes=always
for the
generate-lockfiles
goal and then running the sandbox for the lockfile generation manually would let you do so.
w