Message ID | patch-3.4-a02a668ebb3-20211015T123619Z-avarab@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8cc804d0abf78e5ff22f1561e9301e7264c58aa0 |
Headers | show |
Series | doc lint: fix recent regression, make non-.PHONY | expand |
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > Extend the trick we use to speed up the "clean" target to also extend > to the "lint-docs" target. See 54df87555b1 (Documentation/Makefile: > conditionally include doc.dep, 2020-12-08) for the "clean" > implementation. > > The "doc-lint" target only depends on *.txt files, so we don't need to > generate GIT-VERSION-FILE etc. if that's all we're doing. This makes > the "make lint-docs" target more than 2x as fast: Nice. 0.2s down to 0.1 is a 2x speedup. > $ git show HEAD~:Documentation/Makefile >Makefile.old > $ hyperfine -L f ",.old" 'make -f Makefile{f} lint-docs' > Benchmark #1: make -f Makefile lint-docs > Time (mean ± σ): 100.2 ms ± 1.3 ms [User: 93.7 ms, System: 6.7 ms] > Range (min … max): 98.4 ms … 103.1 ms 29 runs > > Benchmark #2: make -f Makefile.old lint-docs > Time (mean ± σ): 220.0 ms ± 20.0 ms [User: 206.0 ms, System: 18.0 ms] > Range (min … max): 206.6 ms … 267.5 ms 11 runs > > Summary > 'make -f Makefile lint-docs' ran > 2.19 ± 0.20 times faster than 'make -f Makefile.old lint-docs' > > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> > --- > Documentation/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Documentation/Makefile b/Documentation/Makefile > index 78324934d9f..e8e54e053a6 100644 > --- a/Documentation/Makefile > +++ b/Documentation/Makefile > @@ -284,7 +284,7 @@ install-html: html > ../GIT-VERSION-FILE: FORCE > $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE > > -ifneq ($(MAKECMDGOALS),clean) > +ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),) > -include ../GIT-VERSION-FILE > endif
diff --git a/Documentation/Makefile b/Documentation/Makefile index 78324934d9f..e8e54e053a6 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -284,7 +284,7 @@ install-html: html ../GIT-VERSION-FILE: FORCE $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE -ifneq ($(MAKECMDGOALS),clean) +ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),) -include ../GIT-VERSION-FILE endif
Extend the trick we use to speed up the "clean" target to also extend to the "lint-docs" target. See 54df87555b1 (Documentation/Makefile: conditionally include doc.dep, 2020-12-08) for the "clean" implementation. The "doc-lint" target only depends on *.txt files, so we don't need to generate GIT-VERSION-FILE etc. if that's all we're doing. This makes the "make lint-docs" target more than 2x as fast: $ git show HEAD~:Documentation/Makefile >Makefile.old $ hyperfine -L f ",.old" 'make -f Makefile{f} lint-docs' Benchmark #1: make -f Makefile lint-docs Time (mean ± σ): 100.2 ms ± 1.3 ms [User: 93.7 ms, System: 6.7 ms] Range (min … max): 98.4 ms … 103.1 ms 29 runs Benchmark #2: make -f Makefile.old lint-docs Time (mean ± σ): 220.0 ms ± 20.0 ms [User: 206.0 ms, System: 18.0 ms] Range (min … max): 206.6 ms … 267.5 ms 11 runs Summary 'make -f Makefile lint-docs' ran 2.19 ± 0.20 times faster than 'make -f Makefile.old lint-docs' Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- Documentation/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)