[all-commits] [llvm/llvm-project] f65449: Make check-llvm run 50% faster on macOS, 18% faste...

Nico Weber via All-commits all-commits at lists.llvm.org
Mon Jan 6 09:57:54 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f6544934b94932f1d2231238046f83ba8b083040
      https://github.com/llvm/llvm-project/commit/f6544934b94932f1d2231238046f83ba8b083040
  Author: Nico Weber <thakis at chromium.org>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  Make check-llvm run 50% faster on macOS, 18% faster on Windows.

While looking at cycle time graphs of some of my bots, I noticed
that 327894859cc made check-llvm noticeably slower on macOS and
Windows.

As it turns out, the 5 substitutions added in that change were
enough to cause lit to thrash the build-in cache in re.compile()
(re.sub() is implemented as re.compile().sub()), and apparently
applySubstitutions() is on the cricital path and slow when all
regexes need to compile all the time.

(See `_MAXCACHE = 512` in cpython/Lib/re.py)

Supporting full regexes for lit substitutions seems a bit like
overkill, but for now add a simple unbounded cache to recover
the lost performance.

No intended behavior change.




More information about the All-commits mailing list