ruby-trunk-changes 2021-02-13

今日は複数 Ractor でのパフォーマンス改善のための変更と、GC の mark/update 漏れの修正がありました。

[15dbaa0b54] Peter Zhu 2021-02-11 20:32:19 UTC

rb_execution_context_t 構造体の mark 関数と GC.compact のための update 関数 rb_execution_context_mark() と rb_execution_context_update() cfp->ep の配列内の prev_ep に辿るポインタの mark/update 漏れがあったのを修正しています。これはいつからかな……と思ったらチケットのほうで報告者が bisect してくれていて a53e2850c572135ed657144bc14e47b29c64fa94 からじゃないかということなので、3.0.0 からですね。 [ruby-core:102463] [Bug #17622]

[81995797bb] git 2021-02-12 19:24:19 UTC

version.h の日付更新

[813fe4c256] Koichi Sasada 2021-02-12 20:37:46 UTC

rb_equal() の複数 Ractor で同時に実行された時のパフォーマンス向上のための変更とのこと。内容はリファクタリングに近い感じですがマルチスレッドからの実行で高速になりやすいようにしているようです。 [ruby-core:101840] [Bug #17497]