Reviewers: dak, Message: On 2020/02/23 09:49:24, dak wrote: > Stupid question: does the database design of lilypond-book even allow for > uncoordinated parallel runs?
It's not a stupid question; it's a good question. Writing files atomically (open temp file, write, close, rename), seems a lot of work. I've considered adding an advisory lock on the DB directory. Since we max out CPUs when we run lp-book, it shouldn't slow down things, but I was worried about doing file locks cross-platform. Maybe I can do flock(1), which at least lets limit the worry to OSX vs. Linux. Description: Allow parallelism in input/regression/lilypond-book/ This is a 3x improvement, bringing down processing time at -j4 to ~20 seconds, down from 1 minute. Please review this at https://codereview.appspot.com/547680043/ Affected files (+1, -4 lines): M input/regression/lilypond-book/GNUmakefile Index: input/regression/lilypond-book/GNUmakefile diff --git a/input/regression/lilypond-book/GNUmakefile b/input/regression/lilypond-book/GNUmakefile index 363c68fa17972c4f864e64104f5723fe8e2014bd..bc8d1658f7de53c5d886dcb58b19813812b3392b 100644 --- a/input/regression/lilypond-book/GNUmakefile +++ b/input/regression/lilypond-book/GNUmakefile @@ -36,7 +36,4 @@ $(outdir)/suffix-texi.texi: suffix-texi.texi $(outdir)/version.itexi $(DOCUMENTA # following rule is to circumvent this for the purpose of the build. For # the regression tests the .xref-map files are empty and not used anyway. $(XREF_MAPS_DIR)/texinfo-include-language-detection.xref-map $(XREF_MAPS_DIR)/texinfo-language-detection.xref-map: %: - touch $@ - -# Prevent parallel lilypond-book instances for this subdir -.NOTPARALLEL: + mkdir -p $(dir $@) ; touch $@