Skip to content

SystemTools: Readd direct GetCasePathName caching

With this, duplicate calls to FindFirstFileW for nonexistent paths get avoided.

These happen a lot for CMake, as the benchmarks show:

Before:
  Time (mean ± σ):     17.170 s ±  0.090 s    [User: 0.000 s, System: 0.001 s]
  Range (min … max):   17.017 s … 17.339 s    10 runs
After:
  Time (mean ± σ):     16.629 s ±  0.086 s    [User: 0.000 s, System: 0.003 s]
  Range (min … max):   16.534 s … 16.817 s    10 runs

Merge request reports