ruby-trunk-changes 2023-05-25

今日は主に標準添付ライブラリ csv の更新や Fiber のマシンスタック用のメモリ領域の管理方法をチューニングするための変更や RGenGC のチューニングのための環境変数の導入などがありました。

[5f65e8c5d5] yui-knk 2023-05-24 08:24:41 UTC

98637d421dbe8bcf86cc2effae5e26bb96a6a4daruby_node_name() という関数の定義を node.c に移動するとともに rb_node_name() と改名していましたが元の ruby_node_name() に戻しています。公開関数なのでルールに従って rb_ の prefix にしたけど互換性のためにとのこと。

[85b4cd7cf8] Jean Boussier 2023-05-24 13:14:46 UTC

gc.c の is_markable_object() および is_swept_object() で未使用の rb_objspace_t 型の引数の警告抑制のため引数を削除しています。 https://github.com/ruby/ruby/pull/7853

[6d976eb534] Samuel Williams 2023-05-24 13:45:34 UTC

Windows 環境での read()/write()/pread()/pwrite() の代替実装の関数名を整理しているようにみえますが、コミットログをみると blocking region まわりの修正らしい。差分だけみるとよくわからないのですが。 https://github.com/ruby/ruby/pull/7848

[a23ae56c4d] Peter Zhu 2023-04-03 17:43:31 UTC

RGenGC の uncollectible_wb_unprotected_objects_limit というパラメーターを環境変数 RUBY_GC_HEAP_REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO で指定できるようにしています。 Major GC の頻度を減らすことでパフォーマンス改善するようなチューニングをできるようにするためのようです。 [ruby-core:113088] [Feature #19571]

[347afd39a3] Burdette Lamar 2020-08-18 00:37:22 UTC

標準添付ライブラリ csv の rdoc 用コメントから文字列を期待したところに文字列に変換できないオブジェクトが渡された時の例外の記述を削除しています。 https://github.com/ruby/csv/pull/166

[81c57ae7ac] Burdette Lamar 2020-10-29 01:12:11 UTC

標準添付ライブラリ csv のドキュメントに少し追記しています。 https://github.com/ruby/csv/pull/190

[55a900d9cc] Sampat Badhe 2022-01-30 21:25:38 UTC

標準添付ライブラリ csv のドキュメントの typo 修正。

[a0709d0aae] Mau Magnaguagno 2022-06-18 13:32:35 UTC

標準添付ライブラリ csv で古い ruby のサポートのためのファイルが不要なっていたものを削除しています。 https://github.com/ruby/csv/pull/250

[73c56e06c4] Sutou Kouhei 2022-09-03 13:01:59 UTC

標準添付ライブラリ csvCSV#read で最初に CSV#to_a で配列に変換していたのを parser_enumerator で Enumerator を生成して要素を順に取り出すループを改めて書くようにしています。 最適化のためかなと思ったら CSV#shift などで行を読んだ時にそれを無視して再度先頭から読んでしまうのを避けるためみたいです。 https://github.com/ruby/csv/pull/258

[88876f02c1] Sutou Kouhei 2022-09-07 21:19:05 UTC

と、思ったら 73c56e06c429ca713d3b612437d2087314a1062f は revert されています。 to_a を使っても読み込み状態は保持されてたみたいです。 https://github.com/ruby/csv/pull/260

[e151a2ff8e] Yuki Tsujimoto 2023-03-13 20:40:13 UTC

標準添付ライブラリ csv のドキュメントのサンプルの出力例を修正しています。 https://github.com/ruby/csv/pull/276

[38ef537ce0] Luke Gruber 2023-04-03 21:31:49 UTC

標準添付ライブラリ csv のテスト用のヘルパーモジュールの Helper を CSVHelper と改名しています。

[31b28b31fa] Nobuyoshi Nakada 2023-05-24 06:20:59 UTC

標準添付ライブラリ csv のテストで利用するパースエラー時のための assertion メソッド assert_parse_errors_out で YJIT と RJIT/MJIT が有効な時にタイムアウト値を調整するようにしています。

[492e0025fd] Samuel Williams 2023-05-25 02:17:49 UTC

cont.c でマシンスタック領域のメモリの処理を madvise(2) で示唆する時に advice 引数を呼び元で固定にしていたのを環境変数 RUBY_SHARED_FIBER_POOL_FREE_STACKS の指定で制御するようにしています。 commit や pull request だけではよくわかりませんがチケットのほうをみると advice に MADV_FREE を利用すると free などのメモリ使用量の統計情報が不正確になるのでやめたほうがいいという話があって、ひとまず Fiber の stack まわりで madvise(2) に指定するのをやめてみることができるようにしているってことかな? https://github.com/ruby/ruby/pull/7855 [ruby-core:110708] [Misc #19122]

[99a078f4ed] "dependabot[bot]" 2023-05-25 02:59:25 UTC

GitHub Actions の workflow で利用している necojackarc/auto-request-review アクションのバージョンを更新しています。

[d1237bc3a4] Hiroshi SHIBATA 2023-05-25 06:47:48 UTC

delegate、getoptlong、observer、ostruct、pstore、singleton、timeout、weakref などの標準添付ライブラリの gemspec ファイルをそれぞれの lib/xxx/ のディレクトリ配下から lib/ 直下に移動しています。

[8e2fac7b9c] git 2023-05-25 06:59:46 UTC

gems/bundled_gems の test-unit のバージョンを 3.5.9 に更新しています。また NEWS の bundled gems のバージョンリストも更新しています。

[5bfb317a93] Hiroshi SHIBATA 2023-05-25 06:58:09 UTC

標準添付ライブラリ benchmark の gemspec ファイルで version.rb を require していたのをやめてファイルを文字列処理して切り出すように変更しています。

[5ade6be777] Hiroshi SHIBATA 2023-05-25 07:09:29 UTC

5bfb317a938e461a9f99fe209765263cfe23b4d5 の続きで標準添付ライブラリ benchmark の gemspec ファイルも lib/benchmark/ 配下から lib/ 直下に移動しています。

[3026a2f4e9] Hiroshi SHIBATA 2023-05-25 09:11:11 UTC

拡張ライブラリ nkf の gemspec ファイルに spec.extensions の設定を追加しています。

[e5bce57e1d] Hiroshi SHIBATA 2023-05-25 09:11:17 UTC

拡張ライブラリ nkf のバージョンを 0.1.3 に更新しています。

[57fce84c14] git 2023-05-25 09:12:20 UTC

e5bce57e1d3ab6eb8c218355e9b31f に追随して NEWS の default gems のバージョンリストの nkf のバージョンも更新しています。