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]

Re: guile-vm-0.1


Keisuke Nishida <kxn30@po.cwru.edu> writes:

> Anyway, this is the current snapshot of my VM, just for those who
> want to read the source:
> 
>   http://home.cwru.edu/~kxn30/guile-vm-0.1.tar.gz
>   (If you installed guile-vm-0.0, please remove the old directory
>    (i.e., /usr/local/share/guile/vm) before installation.)
> 
> It uses the option 3 (not completed) and is somehow working (but buggy):

I've had a quick look at your vm now and am very impressed

I like your code.  It's really good quality.
I'm very happy that you are working on this.

Thanks!

I tested it with a small benchmark function which is slightly more
similar to a real program than the usual empty loop:

(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.

But QScheme fails to do many checks (it's for example possible to
evaluate (foo 10000000)), and when you implement option 1 I guess your
vm will be faster.

Best regards,
Happy Mikael 8-)

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