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

Re: efficiency



Quoting "Ji-Yong D. Chung":
>     Does anyone have good understanding of its
> architecture and why MzScheme seems to be
> so much faster than MITScheme?

As Shriram says, the interpreter is probably fast just because we've
put most of our effort there.

More technically, the reason might have to do with the way function
application special-cases argument expressions that are constants,
lexical variables, and global variables. The eval-apply loop has also
been carefully optimized by hand. And most primitives are implemented
directly in C, so a program that spends a lot of time in "large"
primitives like `memq' and `list-ref' gets the equivalent of compiled,
optimized code.

But all of these architectural choices play against each other in a way
that makes it difficult to compare alternaitves. We've simply spent
time over the years working towards a local maximum for one particular
set of choices.

Matthew