mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 21:50:14 +01:00
First, this makes the Bazel invocations not try to uses curses which prevents running them with `pre-commit run ... -v` showing the timings for each check. The curses display overwrote the output. Second, this fixes the main slowdown I was seeing. Because we passed _all_ files to the check-build-graph hook and there are large number of files, pre-commit would run the tool over and over on a subset of the files. This is especially wasteful as the build graph check already doesn't do anything with the files, it just checks `//...` on each invocation. So this just added a (large) constant factor of cost. Third, this tries to reduce the cost of `fix_cc_deps.py` in the case of large numbers of files. This still isn't _super_ fast -- but the rest of the cost is in running the `bazel query` and parsing the output. I tried switching it to jsonproto and it wasn't any faster. I think this would need to be in a non-Python language and use `proto` directly to significantly improve the cost here. Assisted-by: Antigravity with Gemini