lilypond-devel
[Top][All Lists]
Advanced

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

Re: Test reader speed of Guile 3.0.6


From: Thomas Morley
Subject: Re: Test reader speed of Guile 3.0.6
Date: Thu, 18 Mar 2021 10:27:47 +0100

Am Do., 18. März 2021 um 09:23 Uhr schrieb Dr. Arne Babenhauserheide
<arne_bab@web.de>:
>
>
> Thomas Morley <thomasmorley65@gmail.com> writes:
>
> > Am Fr., 12. März 2021 um 10:45 Uhr schrieb Thomas Morley
> > <thomasmorley65@gmail.com>:
> >>
> >> 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
>
> Thank you for your test! We’re getting close to making Guile 3.x a
> viable default target for Lilypond again!

Well, 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.

> Can I forward your email to guile-devel?

Sure.

> > %%%%%%%%%%%%%%%%%%%%
> > %%%%%%%%%%%%%%%%%%%%
> >
> > 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.
>
> Wow, yes — that’s pretty cool!
>
> 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.

>
> Best wishes,
> Arne
> --
> Unpolitisch sein
> heißt politisch sein
> ohne es zu merken

Cheers,
  Harm



reply via email to

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