Cut 2.7 seconds off building the graph in siso.

Profiling revealed that 20% of CPU time was spent specifically on growslice calls from pathParser.pathList.

Before:
```
 ~/chromium/src$ hyperfine --warmup=1 -i --runs=10 '/tmp/siso_before ninja -batch=false -C out/no-modules chrome'
Benchmark 1: /tmp/siso_before ninja -batch=false -C out/no-modules chrome
  Time (mean ± σ):      8.665 s ±  0.878 s    [User: 38.652 s, System: 124.206 s]
  Range (min … max):    7.448 s … 10.515 s    10 runs
```

After:

```
~/chromium/src$ hyperfine --warmup=1 -i --runs=10 '~/infra/infra/go/src/infra/build/siso/siso ninja -batch=false -C out/no-modules chrome'
Benchmark 1: ~/infra/infra/go/src/infra/build/siso/siso ninja -batch=false -C out/no-modules chrome
  Time (mean ± σ):      5.958 s ±  0.243 s    [User: 33.402 s, System: 34.875 s]
  Range (min … max):    5.649 s …  6.524 s    10 runs
```

Change-Id: I05a1d4268b291c615141c3778a3030982cc57635
Reviewed-on: https://chromium-review.googlesource.com/c/build/+/6887752
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Matt Stark <msta@google.com>
2 files changed
tree: 88d007f57ad600ef6be501242628387e8b61d564
  1. bench/
  2. gong/
  3. infra/
  4. kajiya/
  5. kzipinfo/
  6. runmc/
  7. siso/
  8. .gitignore
  9. .golangci.yml
  10. .style.yapf
  11. CONTRIBUTING.md
  12. LICENSE
  13. OWNERS
  14. PRESUBMIT.py
  15. README.md
  16. WATCHLISTS
README.md

build.git repository

This repository contains tools developed and owned by the Chrome Build Team.

We're currently in the process of finalizing our migration from the infra/infra repository. Please bear with us whilst we tidy up around here!

Quick start

The steps for getting the code are:

  1. Install depot_tools
  2. Run git clone https://chromium.googlesource.com/build

We use the standard Go module workflow to work on our projects.

Links