bug-guile
[Top][All Lists]
Advanced

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

Re: Serious performance issues with 1.9.0


From: Martin Ward
Subject: Re: Serious performance issues with 1.9.0
Date: Sun, 19 Jul 2009 14:56:46 +0100
User-agent: KMail/1.8.2

On Friday 17 Jul 2009 19:10, Ludovic Courtès wrote:
> You can work around it by manually compiling your source files:
>
>   guile-tools compile -o ALL.go ALL.scm
>   ...
>
> The compiled version can then be run with something like:
>
>   guile -c '(load-compiled "ALL.go")'
>
> Can you try this?

This is what I get:

% guile-tools compile -o ALL.go ALL.scm
ERROR: Value out of range 0 to 255: 633
89.725u 7.472s 1:37.29 99.8%    0+0k 0+0io 4pf+0w


Just for fun, I tried out a Fibonacci numbers benchmark (see below).
Here are the results:

Guile 1.9.1:     128.8 secs (compiled)
SCM version 5e5: 126.5 secs (interpreted)
Hobbit compiled:   2.2 secs (compiled)

Its a pity that you decided to write your own compiler instead
of continuing development with Hobbit :-(

Here is the test program:

(define /i '())
(define (@fib /n)
  (if (<= /n 1)
    1
    (+ (@fib (- /n 1)) (@fib (- /n 2)))))

(let ((var-save /i) (for-step 1) (for-end 40))
  (set! /i 1)
  (let for-loop ()
    (cond ((or (and (> 1 0) (<= /i for-end))
               (and (< 1 0) (>= /i for-end)))
           (begin
             (display "fib(")
             (begin
               (display /i)
               (begin
                 (display ") = ")
                 (begin
                   (display (@fib /i))
                   (newline)
                   (force-output)))))
           (set! /i (+ /i for-step))
           (for-loop))
          (#t #t)))
  (set! /i var-save))

(exit)




-- 
                        Martin

address@hidden http://www.cse.dmu.ac.uk/~mward/ Erdos number: 4
G.K.Chesterton web site: http://www.cse.dmu.ac.uk/~mward/gkc/




reply via email to

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