ruby-trunk-changes 2020-10-19

今日は Encoding の管理方法を変更して Ractor 間の排他のためのロックを減らす変更や拡張ライブラリ digest の default gem 化などがありました。

[ce62850334] Kazuhiro NISHIYAMA 2020-10-19 04:20:34 UTC

rubyspec や bundler のテストのコメントやテスト名の typo 修正。

[f1f8f38079] git 2020-10-19 04:21:08 UTC

version.h の日付更新

[de17e2dea1] Koichi Sasada 2020-10-17 01:13:07 UTC

Encoding を管理する global_enc_table という変数の型の構造体のメンバーの配列 list を default_list という固定長の配列と additional_list という可変長の配列に分解して、DEFAULT_ENCODING_LIST_CAPA (128 に定義されています)までの Encoding は固定長配列に入れるようにして、ここを触る限りは Ractor 間の排他のためのロックを省略できるようにしています。通常のアプリケーションで default_list を超える Encoding を扱うことはまずなさそうなのでこれでほぼ Encoding を触るためのロックを排除できるということみたいです。

[708413807a] Hiroshi SHIBATA 2020-10-15 13:01:43 UTC

拡張ライブラリ digest に gemspec ファイルを追加して default gem 化しています。 だいぶ前に一度追加したものが gem install でヘッダファイルのインストールがうまくいかないということで f39021be7e0eac20ef7f06592769955ea482470f で消されたのでそれを revert という形になっています。

[3f97940252] Hiroshi SHIBATA 2020-10-19 09:56:19 UTC

708413807ae958afb79257b18475424e0a8a4a56 で復活させた ext/digest/digest.gemspec の再編集や tool/sync_default_gems.rb の対応を追加して digest の default gem 化を完了させています。