<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/index.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[rubygems/rubygems] rename Index#== to Index#subset?</title>
<updated>2023-10-23T04:59:01+00:00</updated>
<author>
<name>Martin Emde</name>
<email>martin.emde@gmail.com</email>
</author>
<published>2023-09-03T15:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6362bfdc337c1929a381734ded417b796f9767bf'/>
<id>6362bfdc337c1929a381734ded417b796f9767bf</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/a96a561087
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/a96a561087
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Reduce array allocations and concatenations in Index</title>
<updated>2023-09-15T22:01:11+00:00</updated>
<author>
<name>Martin Emde</name>
<email>martin.emde@gmail.com</email>
</author>
<published>2023-09-15T02:33:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=010017d86d5ba6403e3406cae5986348ed08a678'/>
<id>010017d86d5ba6403e3406cae5986348ed08a678</id>
<content type='text'>
Remove the default nested hash in Index entirely
Index#search_all now yields or returns enum since that's what caller
needs.

https://github.com/rubygems/rubygems/commit/c45ea3bbe2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the default nested hash in Index entirely
Index#search_all now yields or returns enum since that's what caller
needs.

https://github.com/rubygems/rubygems/commit/c45ea3bbe2
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Avoid allocating empty hashes in Index</title>
<updated>2023-09-15T22:01:10+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2023-09-15T02:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2cf5fe58fbe8053f661552786a93d8cad7c307e0'/>
<id>2cf5fe58fbe8053f661552786a93d8cad7c307e0</id>
<content type='text'>
Since the hashes have a default proc that returns a (new) empty hash, we
can avoid allocating those empty hashes when we are only doing lookups.

Test from running `bundle update --bundler` against a rails app I have
lying around:

```
==&gt; memprof.after.txt &lt;==
Total allocated: 9.71 MB (68282 objects)
Total retained:  4.87 MB (33791 objects)

==&gt; memprof.before.txt &lt;==
Total allocated: 10.83 MB (100596 objects)
Total retained:  5.02 MB (34721 objects)
```

https://github.com/rubygems/rubygems/commit/8f7c9cb23e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the hashes have a default proc that returns a (new) empty hash, we
can avoid allocating those empty hashes when we are only doing lookups.

Test from running `bundle update --bundler` against a rails app I have
lying around:

```
==&gt; memprof.after.txt &lt;==
Total allocated: 9.71 MB (68282 objects)
Total retained:  4.87 MB (33791 objects)

==&gt; memprof.before.txt &lt;==
Total allocated: 10.83 MB (100596 objects)
Total retained:  5.02 MB (34721 objects)
```

https://github.com/rubygems/rubygems/commit/8f7c9cb23e
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Improve efficiency of Index#use and #search_all</title>
<updated>2023-09-07T00:33:28+00:00</updated>
<author>
<name>Martin Emde</name>
<email>martin.emde@gmail.com</email>
</author>
<published>2023-09-01T03:11:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86b93f74819dc814a223cd179d15b4d46dc3fc7a'/>
<id>86b93f74819dc814a223cd179d15b4d46dc3fc7a</id>
<content type='text'>
Rename Index#use(override = true) to #merge!

Rename Index @all_specs to @duplicates, it is not actually all specs.
@duplicates only holds specs that would have been overridden during a call to
Index#use or Index#merge!

Reduced dupes in @duplicates by not double adding the new spec to the
index and the @duplicates during #merge!

Reduce Array creation by using specialized methods when the one result
or no results are needed from the search.

https://github.com/rubygems/rubygems/commit/47e91125db
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename Index#use(override = true) to #merge!

Rename Index @all_specs to @duplicates, it is not actually all specs.
@duplicates only holds specs that would have been overridden during a call to
Index#use or Index#merge!

Reduced dupes in @duplicates by not double adding the new spec to the
index and the @duplicates during #merge!

Reduce Array creation by using specialized methods when the one result
or no results are needed from the search.

https://github.com/rubygems/rubygems/commit/47e91125db
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems and Bundler master</title>
<updated>2023-01-10T06:53:07+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-01-10T04:53:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a43f1d90c2b3aed232d5f4ef9dfe226401cf5d81'/>
<id>a43f1d90c2b3aed232d5f4ef9dfe226401cf5d81</id>
<content type='text'>
  from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
</pre>
</div>
</content>
</entry>
<entry>
<title>Migrate our resolver engine to PubGrub</title>
<updated>2022-11-11T22:40:31+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-11-11T21:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0a9d51ee9d2b3d0111832e5ea1c8195a16e2f99b'/>
<id>0a9d51ee9d2b3d0111832e5ea1c8195a16e2f99b</id>
<content type='text'>
  https://github.com/rubygems/rubygems/pull/5960

  Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  https://github.com/rubygems/rubygems/pull/5960

  Co-authored-by: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems/Bundler master</title>
<updated>2022-10-18T07:33:15+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-10-18T06:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f5df47d1f3ec403d057f823375f1dfeea711caa6'/>
<id>f5df47d1f3ec403d057f823375f1dfeea711caa6</id>
<content type='text'>
  https://github.com/rubygems/rubygems/commit/6214d00b2315ed37c76b1fbc1c72f61f92ba5a65
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  https://github.com/rubygems/rubygems/commit/6214d00b2315ed37c76b1fbc1c72f61f92ba5a65
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Deduplicate results just once</title>
<updated>2022-09-12T13:13:32+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2022-09-08T22:05:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2aa8edaec701ca2d76e7be7a9b792b69574ac869'/>
<id>2aa8edaec701ca2d76e7be7a9b792b69574ac869</id>
<content type='text'>
Instead of checking for uniqueness for every spec.

https://github.com/rubygems/rubygems/commit/97d28c9665
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of checking for uniqueness for every spec.

https://github.com/rubygems/rubygems/commit/97d28c9665
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Let specs be sorted just once by the gem version promoter</title>
<updated>2022-09-12T13:13:29+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2022-08-24T08:05:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6a21d196ba774f219956ede5d4cf276b1af433c4'/>
<id>6a21d196ba774f219956ede5d4cf276b1af433c4</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/3cea25a39d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/3cea25a39d
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] This sorting seems unnecessary too</title>
<updated>2022-09-12T13:13:29+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2022-08-24T06:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8d2bcc88ffe603290099d626cab40afcc834a12f'/>
<id>8d2bcc88ffe603290099d626cab40afcc834a12f</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/823cb1fef9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/823cb1fef9
</pre>
</div>
</content>
</entry>
</feed>
