lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Allow parallelism in input/regression/lilypond-book/ (issue 54768004


From: hanwenn
Subject: Re: Allow parallelism in input/regression/lilypond-book/ (issue 547680043 by address@hidden)
Date: Sun, 23 Feb 2020 02:04:45 -0800

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 $@





reply via email to

[Prev in Thread] Current Thread [Next in Thread]