This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

MzScheme--so long! (Re: guile-vm-0.1)


Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:

> (define (foo n p)
>   (cond ((zero? n) p)
> 	((null? p) (foo (- n 1) (cons p p)))
> 	(else (foo (- n 1) (car p)))))
> 
> Your vm evaluates (foo 10000000 '()) in 31 s.
> 
> The normal Guile evaluator does it in 53 s,
>                           MzScheme in 25 s
>                        and QScheme in 11 s.

With the patch below which

1. Makes a small fix in the Makefile.am in the vm directory.

2. Fixes the calls to `eval' so that they now pass a second arg
   (required by current CVS Guile) but keeps the same semantics as
   before (by using (interaction-environment)).

3. Adds the new VM instruction `null?'.

your VM runs the benchmark above in 18 s!

I believe we have just beaten MzScheme.  :)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]