[Top][All Lists]

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

Re: Sabotage against guile users?

From: Roland Orre
Subject: Re: Sabotage against guile users?
Date: Thu, 11 Jul 2013 01:52:05 +0200

On Thu, Jul 11, 2013 at 12:10 AM, Ludovic Courtès <address@hidden> wrote:
Hello, and welcome back!  :-)

Roland Orre <address@hidden> skribis:

> I now intended to start using guile again. I used guile daily for my R&D
> from 1995 to 2008. The last guile I built for was guile-1.8.5
> However, my old module build does no longer work with guile-1.8.8
> (the latest stable downloaded from

No no no, the latest stable is 2.0.9, and it’s like night & day compared
to 1.8.  So while you’re at it, jump directly to 2.0.9.  ;-)

I did a few performance tests, and so far 2.0.9 performs much worse than 1.8.8.
I do not know why, but one simple first test I did was
(define foo (fac 10000))
which for guile-1.8.8 has as average around 60 ms but for guile-2.0.9 has as
average around 212 ms (almost no time in gc in average). I also checked
by removing libgmp that libgmp was really used. Then I tried to run the benchmark-suite which was also quite tedious, as they are not directly
compatible between 1.8.8 2.0.9, but those tests I succeded to run indicated
much worse performance, around 10 times slower for 2.0.9. I also checked
the results 35660 digits, and they were identical.

I suspect something strange to be hidden there, which I'll check with some
standard benchmark tests. I found a set at
that I will try with later.
However, as guile-1.8.8 goes very very fast to build compared to guile-2.0.9,
mostly due to compilation of ice-9 and my programs certainly need quite a
lot of adaptation for 2.0.9 I'll start with guile-1.8.8 (there was a lot of work to
adapt them from guile-1.7 to guile-1.8 earlier).

The fac I used above was defined as:
(define (fac n)
  (define (iter n res)
    (if (> n 1)
        (iter (1- n) (* n res))
  (iter n 1))



reply via email to

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