Files
chromium_depot_tools/tests
Josiah Kiehl b48cbb3e60 Optimize CheckForCommitObjects presubmit check
This CL optimizes CheckForCommitObjects in two ways:
- Fast Path: If the raw `git ls-tree` output does not contain `160000` (gitlink mode), return early. This avoids parsing entirely for repositories without submodules at the cost of about 3ms.
- Iterative Parsing: For repositories with submodules, use an iterative find loop to locate gitlink entries instead of splitting the entire tree content.

On the Chromium repo:
- Speed: The parsing step is ~7.7x faster (0.04s vs 0.30s).
- Memory: Saves ~78 MB of memory per run by avoiding the creation of ~300,000 string objects during the split.

I also added tests now that it's more than a simple loop.

Change-Id: I903effc50aaedb9130772491ad38385b22477d58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7231149
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Josiah Kiehl <kiehl@google.com>
2025-12-09 10:55:42 -08:00
..
2025-09-16 00:15:47 -07:00
2023-09-05 20:24:16 +00:00
2025-11-21 14:01:25 -08:00
2024-03-26 14:24:43 +00:00
2025-04-01 15:18:44 -07:00
2024-08-19 19:53:47 +00:00
2025-09-03 19:03:18 -07:00