platform_build_soong/genrule
Liz Kammer 2ada09a546 Don't create a new module for bp2build conversion.
A performance improvement for bp2build as Blueprint/Soong no longer have
the overhead of additional modules. The creation of these modules
results in:
* traversal of additional modules for each subsequent mutator
* synchronization over a go channel to collect newly created modules:
https://cs.android.com/android/platform/superproject/+/master:build/blueprint/context.go;l=2594,2600;drc=1602226f23181b8c3fbfcaf3358f0297e839d7d3

We avoid both of these by storing the information directly in the
underlying module.

Also as a fringe benefit, removes some necessary boilerplate for
conversion.

For benchmarks, reduces runtime ~1% for 1% converted, ~24% for 100%
converted. See more: go/benchmarks-for-https:-r.android.com-1792714

Test: ran benchmarks/tests in bp2build
Test: build/bazel/ci/bp2build.sh
Change-Id: Ie9273b8cbab5bc6edac1728067ce184382feb211
2021-08-17 15:57:09 -04:00
..
Android.bp Use interface for $(location) values in genrules 2021-03-25 11:06:45 -07:00
genrule.go Don't create a new module for bp2build conversion. 2021-08-17 15:57:09 -04:00
genrule_test.go genrule supports OutputFileProducer 2021-06-29 02:07:17 +09:00
locations.go Use interface for $(location) values in genrules 2021-03-25 11:06:45 -07:00