ruby-trunk-changes 2021-07-25

今日は大量の gem がある時などの require のパフォーマンス改善の変更がありました。

[b360588cd3] Nobuyoshi Nakada 2021-07-12 16:03:26 UTC

大量の gem が存在するため $LOADED_FEATURES が大きくなると require が遅くなっていくのを低減するため、内部的にメンテナンスしている feature 名から $LOADED_FEATURE のインデックスのマッピングを保持するテーブルでファイルの拡張子の違いによる優先度を反映したソートをしておくことで不要な繰り返しの探索を避けられるようにしています。同じ feature name だと拡張子が .rb のほうが優先ですが先に .so などの拡張ライブラリのほうが先にヒットすると再度検索する必要があって遅くなっていたようです。 [ruby-core:92686] [Bug #15856]

[02facb86da] git 2021-07-25 11:07:55 UTC

version.h の日付更新