Preserve depset structure from bazel aquery
Each depset now corresponds to a phony rule which depends on other depsets or on full paths; thus, bazel's depset structure is preserved in the form of phony rules of name bazel_depset_{id}. Previously, flattening and recopying large lists of file path strings was quite inefficient. This was particularly evident as we enumerated hundreds of clang headers for each cc compile action. This reduces soong_build analysis time by about 30% for mixed builds. It also reduces ninja file size by ~750MB. Fixes: 229405615 Test: Unit tests, manually verified metrics, mixed_droid CI Change-Id: I78df152ac1488ae0c6807afdde4b4ad5e6d26287
Loading
Please register or sign in to comment