More tests were done by Thomas Morley, which also give a perspective on the initial very negative reaction by the lilypond developers, as it shows the abysmal speed that initial versions of Guile2-Lilypond integration had. Thomas Morley writes: > Am Fr., 12. März 2021 um 10:45 Uhr schrieb Thomas Morley > : >> >> Am Do., 11. März 2021 um 22:47 Uhr schrieb Dr. Arne Babenhauserheide > >> > Do you already have results? >> >> Currently my regular job eats up all my time. >> Probably I'll find some free time at upcoming weekend, not sure though... >> If so, to which guile-version should I compare, guile-1.8 (which is >> still LilyPond-default) or a certain guile-2/3-version? > > Found some time today... > > I tested a huge ly-score, once sent by Jean-Charles for testing > different guile-versions: > https://lists.gnu.org/archive/html/lilypond-user/2016-11/msg00948.html > Thanks again! > I made it compilable with recent ly-master out of > 55ca32d951dd17556df8d0332b861f0cd189379a > (though I didn't fix all warnings and programming errors) > > Tested with these guile versions: > guile-1.8.8 from tarball > guile-2-2-6 out of a69b567d97f7c9193924c775e1dd86e43a35b8bd > guile-3.0.6 from master, i.e. out of 85433fc2b122dc78342c3c83941949d1d9318399 > (although (version) says: 3.0.5.116-85433) > > There are some guile-warnings, multiple instances of: > WARNING: (#{ g478}#): `smallCaps-markup' imported from both (lily) and > (#{ g171}#) > WARNING: (scm framework-ps): imported module (lily) overrides core binding `_' > The latter one is about gettext and PITA. > > > I compiled Urtext.ly from the tarball linked above (giving a 158 pages pdf): > > %%%%%%%%%%%%%%%%%%%% > guile-1.8.8 > > real 4m37,304s > user 4m14,144s > sys 0m7,717s > > %%%%%%%%%%%%%%%%%%%% > guile-2.2.6, (version) says: 2.2.6.7-9a11b > > real 7m18,995s > user 6m41,808s > sys 0m11,960s > > eating much more memory than guile-1.8.8 > > %%%%%%%%%%%%%%%%%%%% > guile-3.0.6, (version) says: 3.0.5.116-85433 > > real 5m49,587s > user 5m11,033s > sys 0m9,488s > > eating a little more memory than with guile-1.8.8 but far less than guile-2.2.6 … > I tested _one_ huge file. > In it there's some custom-code to deal with accented letters like in > "éèêëáàâäíìîïóòôöúùûüçœæ", which guile-1 was not able to cope with in > many cases. > I think guile-2/3 does a better job in this regard. > Btw, this is my strongest argument to switch to guile-2/3 > I could eliminate that code for guile-2/3 runs and take timing values again. > Maybe it has positive impact. > Interested? Has to wait for the weekend, though. > > Otoh, adjusting small things in a small file like finding the needed value for > \override Grob.X-offset = FINDME > is a pain with guile-2/3 because of the already mentioned startup delay. > The strongest argument against switching to guile-2/3, imho. … > %%%%%%%%%%%%%%%%%%%% > %%%%%%%%%%%%%%%%%%%% > > Interestingly I found some older timing values from former tests: > > %%%%%%%%%%%%%%%%%%%% > released lilypond-2.19.52 with guile-1.8.7 > > real 8m16.191s > user 6m39.864s > sys 0m10.860s > > %%%%%%%%%%%%%%%%%%%% > with guile-versions from 2.0.14 and 2.1.7 I noted: > > Best result was: > real 25m17.082s > user 31m1.668s > sys 0m5.480s > > Worst result was: > real 77m44.348s > user 100m40.324s > sys 0m18.932s > > Though, my noted former results are a little messy: I can't say > anymore which guile-version with which lilypond-patches was > best/worst. > > Anyway, both, LilyPond and guile seem to have improved a lot. > A: Did you do these tests on the same machine? > Yes, it was all on the same machine. > Though, guile-2.0.12 was the first version with a _chance_ to compile > LilyPond, iirc > These early attempts used patches which nowadays are superseeded by > far better ones. > So while the machine is the same, LilyPond has become far better to > deal with guile-2/3. > I think those scary values are documenting where we started and are of > historic interest, nothing more. > Cheers, > Harm -- Unpolitisch sein heißt politisch sein ohne es zu merken