lilypond-devel
[Top][All Lists]
Advanced

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

Re: testing out Docker CI scripts?


From: Han-Wen Nienhuys
Subject: Re: testing out Docker CI scripts?
Date: Sun, 23 Feb 2020 11:44:19 +0100

On Sat, Feb 22, 2020 at 11:43 PM David Kastrup <address@hidden> wrote:
> Clicking on the images in the HTML documentation leads you to the source
> code of the respective snippet as generated by lilypond-book.  Doing
> this on corresponding images in different translations leads you to the
> same source file.
>
> That does appear like the basic database mechanism is working.

Yes, I verified this as well. But the computation times still don't
add up; they are too long for what is being done.

> Essentially, if you consider me "dismissive of your analysis" and "guess
> I don't want to look into this further?", one cause might be that you
> have been missing out on information and discussions that have caused
> the choices leading to the results you are seeing, with significant
> changes accompanied by extensive analysis from several contributors and
> partly offset by developing new tools, mechanisms, ways of calling
> LilyPond and processing its output, and the integration into the scripts
> and build systems.

I think some of these significant changes with extensive analysis were
somewhat flawed. I applied the following patch:

diff --git a/make/stepmake.make b/make/stepmake.make
index 379b71b756..02f3595732 100644
--- a/make/stepmake.make
+++ b/make/stepmake.make
@@ -91,7 +91,7 @@ else
     .SILENT:
     # print the terse message for a target
     define ly_info
-      echo '$(1)'
+      echo $$(date +%T) $$(cut -f1 -d' ' /proc/loadavg) '$(1)'
     endef
   else # verbose
     # print the terse message as a comment; make will print the commands

and initially it is working as expected (4 cpus.)

11:12:40 3.23  Making Documentation/out-www/music-glossary.pdf < texi
11:12:41 3.30  Making Documentation/out-www/notation.pdf < texi
11:12:47 3.43  Making Documentation/out-www/snippets.pdf < texi

but later in the process, I get

11:17:54 2.07  Making Documentation/de/out-www/notation.pdf < texi
..
11:18:46 1.85  Making Documentation/es/out-www/notation.texi < tely
11:19:25 2.51  Making Documentation/es/out-www/learning.texi < tely

ie. the build process for other languages is leaving ~2 CPUs idle, for
about 15 minutes. This means it should be doable to shave off 7.5
minutes off the make doc build.

Maybe it's this statement in ly-rules.make

# This allows -j make option while making sure only one lilypond-book instance
# is running at the same time, using GNU make's order-only prerequisites so
# as to not create superficial dependencies between unrelated manuals.
define CHAIN_RULE
| $(i)
$(i):
endef

which serializes the lp-book calls, but I'll have to look a litte
deeper to be sure.

-- 
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen



reply via email to

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