guile-user
[Top][All Lists]
Advanced

[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 02:24:33 +0200

Another huge difference between guile-1.8.8 versus guile-2.0.9 is the
startup time, which makes guile-2.0.9 not at all suitable for shell scripting
where guile-1.8.8 starts extremely fast.
So it seems as guile-1.8.8 is something to value high in a very special way.
(I've copied it to many machines, just to assure that I won't lose it)

By the way, the original problem I mentioned, i.e. lack of
docs for making dynamically linked modules, where the only docs
I've ever found is the make files for the box example
e.g. examples/box-dynamic-module
those makefiles are missing also for guile-2.0.9
OK, there is a Makefile examples/Makefile which is possibly
intended to replace the separate makefiles in
box, box-dynamic, box-dynamic-module
but then the README files under the box directories need to be updated.

On Thu, Jul 11, 2013 at 1:52 AM, Roland Orre <address@hidden> wrote:
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 savannah.gnu.org)

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
 http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/benc
h/gabriel/gabriel.tgz
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))
        res))
  (iter n 1))

/Roland
 

Ludo’.





reply via email to

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