Skip to content
  • David Rodríguez's avatar
    4df7c394
    [rubygems/rubygems] Remove one fallback to full indexes on big gemfiles · 4df7c394
    David Rodríguez authored
    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.
    
    https://github.com/rubygems/rubygems/commit/2f46289bd3
    4df7c394
    [rubygems/rubygems] Remove one fallback to full indexes on big gemfiles
    David Rodríguez authored
    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.
    
    https://github.com/rubygems/rubygems/commit/2f46289bd3
Loading