commit | 9e3b3ad66b468d6508a66f54ff396d89bae2d599 | [log] [tgz] |
---|---|---|
author | David 'Digit' Turner <digit@fuchsia.infra.roller.google.com> | Wed Jan 29 08:21:29 2025 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Jan 29 08:22:50 2025 -0800 |
tree | 3335385c39474826adc1fd6cb0ce5746b4d7cf69 | |
parent | ed937bd3f733129831a224e9c43ec964f3c8313d [diff] |
[roll] Roll fuchsia [build][clang] Consolidate multiple exec_script() calls into one. Speed-up `gn gen` time drastically by removing `exec_script()` statements calling into Clang, replacing them with lookups into the GN scope generated by invoking a new script (generate_config_json.py) that is only invoked once. The script implements the same set of clang probing commands, but launches them in parallel to speed-up the process significantly (see CommandPool class implementation). Note that the script is executed and parsed by GN only once in the default toolchain, then its content passed to other GN toolchains using `toolchain_args`. As verified manually, this *does* not change the generated Ninja build plan for the following variants: none, asan, ubsan, hwasan, tsan & profile. Benchmarking results for different build configurations with buildbot bundles for products and e2e tests, running on a powerful workstation: ``` before (s) after (s) diff (s) bringup.arm64 8.76 5.07 -3.69 bringup.arm64-asan 14.62 7.23 -7.39 core.arm64 23.07 14.48 -8.59 core.arm64-asan 35.29 18.14 -17.15 Exact fx set commands: fx set bringup.arm64 --with //bundles/buildbot/bringup:bringup --with //bundles/buildbot/bringup:e2e_tests fx set bringup.arm64 --with //bundles/buildbot/bringup:bringup --with //bundles/buildbot/bringup:e2e_tests --variant asan fx set core.arm64 --with //bundles/buildbot/core:core --with //bundles/buildbot/core:e2e_tests fx set core.arm64 --with //bundles/buildbot/core:core --with //bundles/buildbot/core:e2e_tests --variant asan ``` Original-Bug: 377663596 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1177814 Original-Revision: cea5d43fc9228d3a8838229bee050dbf0f631594 GitOrigin-RevId: 09fd436f8da0a45856174a42b4375a6fe1198771 Change-Id: I3411704c7ad0d2dac14bdd83105fdd6034924138
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party
.