diff options
| author | U.Nakamura <usa@ruby-lang.org> | 2023-09-05 20:47:58 +0900 |
|---|---|---|
| committer | U.Nakamura <usa@ruby-lang.org> | 2023-09-05 20:48:57 +0900 |
| commit | 8a8d889ca2ba1ace8784e49e02a6616dd5765d9e (patch) | |
| tree | 33f71dd7f4465a01c31f50177af155a894699646 /.github | |
| parent | e88ffb885af222332826d46565ca405f4523ed8f (diff) | |
merge revision(s) 1f115f141dd17f75049a5e17107906c5bcc372e1: [Backport #19246]
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 '.github')
| -rw-r--r-- | .github/workflows/mingw.yml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml index 3e6b77c58f..ba0b9c25a6 100644 --- a/.github/workflows/mingw.yml +++ b/.github/workflows/mingw.yml @@ -124,16 +124,16 @@ jobs: timeout-minutes: 5 run: | make test + shell: cmd - name: test-all timeout-minutes: 45 run: | - # Actions uses UTF8, causes test failures, similar to normal OS setup - chcp.com 437 make test-all env: RUBY_TESTOPTS: -j${{env.TEST_JOBS}} --retry --job-status=normal --show-skip --timeout-scale=1.5 BUNDLER_VERSION: + shell: cmd - name: test-spec timeout-minutes: 10 |
