mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 05:25:34 +02:00
![]() If Gemfile has a lot of dependencies, we have an optimization that uses
the full index in that case, assuming it's going to be faster.
I think this is an old optimization that predates compact index API
times, I believe we no longer need it these days.
Also, since a few releases ago we check for circular dependencies when
resolving by looping through all versions of each name and removing
those that have circular dependencies that would trip up the resolver.
This loop becomes actually very slow when full indexes are used because
to find dependencies of a gemspec, we need to explicitly fetch the
marshaled gemspec (`gemspec.rz` endpoint) for it, so the optimization
has the opposite effect of making things very slow.
|
||
---|---|---|
.. | ||
git | ||
path | ||
rubygems | ||
gemspec.rb | ||
git.rb | ||
metadata.rb | ||
path.rb | ||
rubygems.rb | ||
rubygems_aggregate.rb |