This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: debug evaluator is faster than regular one?
Keisuke Nishida <kxn30@po.cwru.edu> writes:
> Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:
>
> > > % guile
> > > guile> (time (do ((n 1000000 (1- n))) ((< n 0))))
> > > clock utime stime cutime cstime gc
> > > 8.64 8.5 0.14 0 0 6.5
> >
> > You're running the debug evaluator here as well.
>
> Do you mean the interactive session always uses the debugging evaluator?
Yes. By default it does.
> > Have you studied the technology used in QScheme before starting work
> > on your own VM?
>
> Yes, I looked at their VM. I originally tried to port it to Guile,
> but I found that writing it from scratch is easier for me, and I
> thought I could write better code. Is there any problem with looking
> at their code?
No, not at all. I just wanted to make sure that you were making use
of that information, so that we can build on top of the experiences
from QScheme. :-)
> The basic idea is the same. I use GCC's `&&' operator to get labels'
> addresses and execute "goto *pc;" to run VM's instructions. The
> instructions are defined like this:
I'll look more closely at this later--have to run now. This is so
interesting!