diff options
| author | nagachika <nagachika@ruby-lang.org> | 2023-11-18 11:28:03 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2023-11-18 12:06:27 +0900 |
| commit | 5baf94f9131fb45d50c8c408e007a138ced46606 (patch) | |
| tree | 2f15f0613f33bc5a8afe5d50392f712d67ba2405 /spec/ruby | |
| parent | d1ba26a54d9301ea12fbc1b7d0e8223ce507de3b (diff) | |
merge revision(s) 1f115f141dd17f75049a5e17107906c5bcc372e1:
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]
---
load.c | 27 +++++++++++++++++++++++----
vm.c | 2 ++
vm_core.h | 1 +
3 files changed, 26 insertions(+), 4 deletions(-)
Diffstat (limited to 'spec/ruby')
0 files changed, 0 insertions, 0 deletions
