diff options
| author | Jeremy Evans <code@jeremyevans.net> | 2023-04-12 12:33:16 -0700 |
|---|---|---|
| committer | Jeremy Evans <code@jeremyevans.net> | 2023-04-13 20:22:36 -0700 |
| commit | 1f115f141dd17f75049a5e17107906c5bcc372e1 (patch) | |
| tree | ee97dfc4e85959cf84b8cb2e048e21fcc9e8b784 /include/ruby/internal/intern/array.h | |
| parent | 6beb755d810082ea3f557f54c687bc752a11cc7b (diff) | |
Speed up rebuilding the loaded feature index
Rebuilding the loaded feature index slowed down with the bug fix
for #17885 in 79a4484a072e9769b603e7b4fbdb15b1d7eccb15. The
slowdown was extreme if realpath emulation was used, but even when
not emulated, it could be about 10x slower.
This adds loaded_features_realpath_map to rb_vm_struct. This is a
hidden hash mapping loaded feature paths to realpaths. When
rebuilding the loaded feature index, look at this hash to get
cached realpath values, and skip calling rb_check_realpath if a
cached value is found.
Fixes [Bug #19246]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7699
Diffstat (limited to 'include/ruby/internal/intern/array.h')
0 files changed, 0 insertions, 0 deletions
