guile-devel
[Top][All Lists]
Advanced

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

Re: Results of tests of guile-2.9


From: Thomas Morley
Subject: Re: Results of tests of guile-2.9
Date: Tue, 13 Nov 2018 23:42:44 +0100

Am Di., 13. Nov. 2018 um 01:12 Uhr schrieb Mikael Djurfeldt
<address@hidden>:
>
> It would be nice to have guile-1.8 in that list since some users stayed at 
> that version due to 2.0 being slower.

As does LilyPond...

> Maybe, in time, we can get everyone back to the most recent release. :-))

I wrote some own test-code.
To be absolutely clear, this code is silly and terrible and
accumulates expensive procedures done again and again..
If I would see something like that I'd usually shout: "Man, are you crazy??"

Nevertheless, I post it here (and the results) to expose the
string-problem, which LilyPond still fights with (among others).

(begin
  (use-modules (srfi srfi-1))

  (let ((ls '()))
    (for-each
      (lambda (x)
        (set! ls
          (cons
            (string-append "'" (object->string (eval-string "'(a b c)")))
            ls
            )))
        (iota 10000))
    (set! ls (delete-duplicates ls))
    (write (version))))

Invoked with
$ time guile-whatever-version path/to/file

"1.8.8"
real    0m0,471s
user    0m0,446s
sys    0m0,018s

"2.0.14"
real    0m3,141s
user    0m3,595s
sys    0m0,111s

"2.2.4.9-71f536"
real    0m1,406s
user    0m1,633s
sys    0m0,063s


"2.9.1"
real    0m1,385s
user    0m1,615s
sys    0m0,033s


For this code guilev1 beats all others, although guile-2.9.1 is much
faster than 2.0.14

As said, it's a worse test, exposing a guilev2 weakness.
And ofcourse not the only problem LilyPond is facing with guilev2.
I do have a working guile-2.9.1/LilyPond-setup and results for
real-world ly-files are usually not that dramatically, but still big.


Otoh, I observe a steady improvement from 2.0.14 to 2.2.4 and the most
recent 2.9.1

So I'm eager to see how the final 3.0 will work.

Thanks,
  Harm



reply via email to

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