<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/bundler/compact_index_client/cache.rb, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Remove compact index response parser from Bundler</title>
<updated>2025-04-01T00:56:56+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-03-27T14:58:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=92422576c6ffa21f8c68f7b9774f0297b8acae71'/>
<id>92422576c6ffa21f8c68f7b9774f0297b8acae71</id>
<content type='text'>
It's available in RubyGems since 3.2.3 and we no longer support that old
version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's available in RubyGems since 3.2.3 and we no longer support that old
version.
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Reorganize and refactor CompactIndexClient</title>
<updated>2024-05-25T17:47:07+00:00</updated>
<author>
<name>Martin Emde</name>
<email>me@martinemde.com</email>
</author>
<published>2024-05-22T04:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6b0afbb111716e7b1fdc711d8afd26c723a9bb0c'/>
<id>6b0afbb111716e7b1fdc711d8afd26c723a9bb0c</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/71bcf354f5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/71bcf354f5
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] update cache checksums to decrease string allocations</title>
<updated>2024-05-24T21:04:21+00:00</updated>
<author>
<name>Jacklyn Ma</name>
<email>29336370+jacklynhma@users.noreply.github.com</email>
</author>
<published>2024-05-08T16:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4d0c5486a2773f0474a51033d4f685e5c766ec30'/>
<id>4d0c5486a2773f0474a51033d4f685e5c766ec30</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/85371a961a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/85371a961a
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Prefer String#split with block in Bundler::CompactIndexClient::Cache#versions</title>
<updated>2023-12-05T05:28:39+00:00</updated>
<author>
<name>Mau Magnaguagno</name>
<email>maumagnaguagno@gmail.com</email>
</author>
<published>2023-11-30T03:24:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5f789350dceef80494e4e3e3e1ce95f886657845'/>
<id>5f789350dceef80494e4e3e3e1ce95f886657845</id>
<content type='text'>
String#split supports a block since Ruby 2.6, avoiding intermediate array.

https://github.com/rubygems/rubygems/commit/4e864a8f2e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
String#split supports a block since Ruby 2.6, avoiding intermediate array.

https://github.com/rubygems/rubygems/commit/4e864a8f2e
</pre>
</div>
</content>
</entry>
<entry>
<title>Opaque Etags for compact index requests</title>
<updated>2023-11-27T06:04:40+00:00</updated>
<author>
<name>Josef Šimánek</name>
<email>josef.simanek@gmail.com</email>
</author>
<published>2023-06-27T00:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=71a8daecd9ad10ba8aa0d66131e326722f1d78ad'/>
<id>71a8daecd9ad10ba8aa0d66131e326722f1d78ad</id>
<content type='text'>
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.

Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.

Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.

Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.

Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Reduce allocations when parsing compact index</title>
<updated>2023-10-08T04:17:15+00:00</updated>
<author>
<name>Samuel Giddins</name>
<email>segiddins@segiddins.me</email>
</author>
<published>2023-09-18T20:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2b6228be48dc656c3e7a95919622e4b8561324cf'/>
<id>2b6228be48dc656c3e7a95919622e4b8561324cf</id>
<content type='text'>
This still allocates a ton (a string for each line, plus a bunch of
splits into arrays), but it helps a bit when Bundler has to go through
dependency resolution.

```
==&gt; memprof.after.txt &lt;==
Total allocated: 194.14 MB (2317172 objects)
Total retained:  60.81 MB (593164 objects)

==&gt; memprof.before.txt &lt;==
Total allocated: 211.97 MB (2404890 objects)
Total retained:  62.85 MB (640342 objects)
```

https://github.com/rubygems/rubygems/commit/c68b41b0e5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This still allocates a ton (a string for each line, plus a bunch of
splits into arrays), but it helps a bit when Bundler has to go through
dependency resolution.

```
==&gt; memprof.after.txt &lt;==
Total allocated: 194.14 MB (2317172 objects)
Total retained:  60.81 MB (593164 objects)

==&gt; memprof.before.txt &lt;==
Total allocated: 211.97 MB (2404890 objects)
Total retained:  62.85 MB (640342 objects)
```

https://github.com/rubygems/rubygems/commit/c68b41b0e5
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems/Bundler master</title>
<updated>2022-12-12T01:49:43+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-12-12T00:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bbe56a643734025aef6a3cbeb07c5306505040f6'/>
<id>bbe56a643734025aef6a3cbeb07c5306505040f6</id>
<content type='text'>
  from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge rubygems/rubygems HEAD.</title>
<updated>2022-01-19T06:01:44+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-01-19T04:28:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d22511fd7595ef1819baa42851d598d95b8f4d00'/>
<id>d22511fd7595ef1819baa42851d598d95b8f4d00</id>
<content type='text'>
  Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems 3.2.3 and Bundler 2.2.3</title>
<updated>2020-12-23T01:17:41+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2020-12-22T23:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=339227363ce0cf967fa17efa4489d823932ddabd'/>
<id>339227363ce0cf967fa17efa4489d823932ddabd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge bundler-2.2.0.rc.2</title>
<updated>2020-10-15T08:19:02+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2020-10-15T04:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d386a58f6f1865aaa35eda5af55cff3ff3cca4ca'/>
<id>d386a58f6f1865aaa35eda5af55cff3ff3cca4ca</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
