$ time git cl presubmit --force
Running presubmit commit checks ...
presubmit checks passed.
real 0m01.59s
user 0m01.32s
sys 0m00.41s
ravnica$ time gn check out/rel-cros
36343 targets out of 36349 checked based on the check_targets or no_check_targets defined in ".gn".
Header dependency check OK
real 0m12.44s
user 5m52.90s
sys 1m50.74s
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/d5d16915-903c-4b11-b306-18d6065888bbn%40chromium.org.
I think paying a performance penalty on every build is worse than paying the penalty at upload: builds are a much more common operation, and it would be painful if the build-test-fix cycle got slower. Demetrios: were you hoping that running "gn check" as part of a build might not add significant time due to reusing some of the analysis that's already done in the build and/or running in parallel with other build steps?Another thought I had for presubmits was to run gn check only on the affected targets, by combining "gn refs <modified_c++_files>" and "gn check <target>". From some quick tests this helps a bit but still leaves 1-2s of elapsed time (partly because "gn refs" takes a while, and partly because Chrome often has very large targets that end up being checked). It sounds like this wouldn't make a large enough difference for folks to want this enabled by default.Cheers,James
I think paying a performance penalty on every build is worse than paying the penalty at upload: builds are a much more common operation, and it would be painful if the build-test-fix cycle got slower. Demetrios: were you hoping that running "gn check" as part of a build might not add significant time due to reusing some of the analysis that's already done in the build and/or running in parallel with other build steps?Another thought I had for presubmits was to run gn check only on the affected targets, by combining "gn refs <modified_c++_files>" and "gn check <target>". From some quick tests this helps a bit but still leaves 1-2s of elapsed time (partly because "gn refs" takes a while, and partly because Chrome often has very large targets that end up being checked). It sounds like this wouldn't make a large enough difference for folks to want this enabled by default.
We had a tracking bug for at least part of what's being discussed in this thread crbug.com/41271544.To summarize the issues people have brought up:1. It can be slow. On the bots it often takes around a minute (we were even considering taking it out of the critical path to make the more common passing case faster). We don't want this in the local interactive critical path unless we can be sure it will be fast or the user opts in.2. Checking locally only covers the configuration(s) the person has locally, e.g. not every iOS, Fuchsia, ChromeOS, etc. configuration. How often do the builders catch check failures in configurations people were developing on locally vs something else?I haven't looked but I wonder if gn check could be optimized at all. I think that would be generally useful for humans and bots.
I'm not sure I follow. Do you mean that the change is uploaded and some checks are triggered to run remotely before (or while) presubmit is running locally?