guile-user
[Top][All Lists]
Advanced

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

Re: Guile speed versus qscheme, mzscheme


From: Andy Wingo
Subject: Re: Guile speed versus qscheme, mzscheme
Date: Mon, 31 Aug 2009 22:34:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux)

Hi Doug,

I get something lower for Guile's time (from git) -- something a little
less than 2 seconds -- but that could just be my laptop. You

Note that this is mostly a GC test -- how fast can you allocate 40/80 MB
of data. Guile's current GC is slow. I don't think, as Ludo suggested,
that this has anything to do with subrs, as that code shouldn't invoke
any subrs.

Hopefully the Boehm GC merge will get us down to mzscheme times in this
case.

Andy

On Sun 30 Aug 2009 19:54, Doug Evans <address@hidden> writes:

> Hi.
>
> I happened on this message from awhile ago,
> and got curious about the current speed of Guile.
>
> http://sourceware.org/ml/guile/2000-08/msg00187.html
>
> I got a copy of qscheme, hacked it so that it would compile with
> current gcc, and ran the benchmark again.
> OOC, I also tested with mzscheme.
>
> Here is what I got.
> No claim is made that this is a useful benchmark per se.
> I only use it here as it's what was used in the email above.
>
> system: i386-linux, fc10 (fedora core 10)
>
> bench-1.scm:
>
> (define (foo n p)
>   (cond ((zero? n) p)
>       ((null? p) (foo (- n 1) (cons p p)))
>       (else (foo (- n 1) (car p)))))
v> (display "Starting.\n")
> (foo 10000000 '())
> (display "Done.\n")
>
> ---
>
> mzscheme (v4.1.2):
>
> bash$ time mzscheme -e '(load "bench-1.scm")'
> Starting.
> Done.
>
> real  0m0.897s
> user  0m0.818s
> sys   0m0.074s
>
> ---
>
> qscheme (0.5.1 + hacks):
>
> bash$ time qscheme bench-1.scm
> scm_vm3_engine_init:
> scm_vm3_engine_init: stack init
> scm_vm3_engine_init: regs init
> scm_vm3_engine_init: setup of call table
> ; trying to load /misc/dje/gnu/qscheme/rel/share/qscheme/0.5.1/s.scm
> ; trying to load /misc/dje/gnu/qscheme/rel/share/qscheme/0.5.1/macro.scm
> Starting.
> Done.
>
> real  0m2.329s
> user  0m2.274s
> sys   0m0.006s
>
> ---
>
> guile (1.8.5):
>
> bash$ time guile bench-1.scm
> Starting.
> Done.
>
> real  0m8.452s
> user  0m8.267s
> sys   0m0.049s
>
> ---
>
> guile (1.6.8):
>
> bash$ time guile-1.6.8 -s bench-1.scm 
> Starting.
> Done.
>
> real  0m6.865s
> user  0m6.821s
> sys   0m0.020s
>
> ---
> All runs were repeated a few times to ensure these are representative.
>
> I built guile-1.6.8 myself whereas guile 1.8.5 is what's currently
> on my machine from the fedora repository.  [Was there some change
> in 1.8 that slowed it down, or is the version that's in fedora
> suboptimal?]
> At any rate, it seems Guile still has a ways to go speed-wise.
> I could have messed up somewhere of course.
> Any and all comments appreciated.
> Are there any plans on the horizon to improve things?
> Did the vm improvements mentioned in the above email not make it into Guile?
>
>

-- 
http://wingolog.org/




reply via email to

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