Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
BUILD.bazel | H A D | 25-Apr-2025 | 2.1 KiB | 108 | 98 | |
README.md | H A D | 25-Apr-2025 | 801 | 21 | 15 | |
canonical_perf.sh | H A D | 25-Apr-2025 | 1.9 KiB | 63 | 39 | |
clone.py | H A D | 25-Apr-2025 | 13.4 KiB | 395 | 320 | |
clone.sh | H A D | 25-Apr-2025 | 1.1 KiB | 34 | 15 | |
clone_test.py | H A D | 25-Apr-2025 | 3.5 KiB | 129 | 107 | |
cuj.py | H A D | 25-Apr-2025 | 4.4 KiB | 145 | 100 | |
cuj_catalog.py | H A D | 25-Apr-2025 | 14.7 KiB | 455 | 367 | |
cuj_regex_based.py | H A D | 25-Apr-2025 | 3.1 KiB | 107 | 78 | |
finder.py | H A D | 25-Apr-2025 | 4.1 KiB | 142 | 112 | |
finder_test.py | H A D | 25-Apr-2025 | 1.8 KiB | 53 | 30 | |
go_allowlists.py | H A D | 25-Apr-2025 | 4.6 KiB | 138 | 106 | |
go_allowlists_test.py | H A D | 25-Apr-2025 | 2.9 KiB | 85 | 62 | |
incremental_build.py | H A D | 25-Apr-2025 | 13.5 KiB | 400 | 322 | |
incremental_build.sh | H A D | 25-Apr-2025 | 1.2 KiB | 38 | 15 | |
perf_metrics.py | H A D | 25-Apr-2025 | 11 KiB | 326 | 264 | |
perf_metrics_test.py | H A D | 25-Apr-2025 | 2.3 KiB | 66 | 38 | |
plot_metrics.py | H A D | 25-Apr-2025 | 4.2 KiB | 141 | 103 | |
plot_metrics.template.txt | H A D | 25-Apr-2025 | 705 | 30 | 24 | |
plot_metrics_test.py | H A D | 25-Apr-2025 | 1.4 KiB | 40 | 19 | |
pretty.py | H A D | 25-Apr-2025 | 7.3 KiB | 249 | 196 | |
pretty.sh | H A D | 25-Apr-2025 | 1.1 KiB | 34 | 15 | |
pretty_test.py | H A D | 25-Apr-2025 | 3 KiB | 97 | 74 | |
ui.py | H A D | 25-Apr-2025 | 8.8 KiB | 283 | 247 | |
util.py | H A D | 25-Apr-2025 | 9.5 KiB | 318 | 236 | |
util_test.py | H A D | 25-Apr-2025 | 2.9 KiB | 81 | 59 |
README.md
1# How to Use 2 3The most basic invocation, e.g. `incremental_build.sh --cujs "modify Android.bp$" -- libc`, is logically 4equivalent to 5 61. running `m --skip-soong-tests libc` and then 72. parsing `$OUTDIR/soong_metrics`, `$OUTDIR/bp2build_metrics.pb` etc 83. Adding timing-related metrics from step 2 into `out/timing_logs/metrics.csv` 94. Now it's "warmed-up", for each cuj: 10 1. apply changes associate with the cuj 11 1. repeat steps 1 through 3 12 13CUJs are defined in `cuj_catalog.py` 14Each row in `metrics.csv` has the timings of various "phases" of a build. 15 16Try `incremental_build.sh --help` and `canoncial_perf.sh --help` for help on 17usage. 18 19## CUJ groups 20 21Since most CUJs involve making changes to the source code, we group a number of cujs together such that when any of them is specified, all CUJs