[plt-scheme] 301.4

From: Noel Welsh (noelwelsh at yahoo.com)
Date: Wed Feb 1 16:33:04 EST 2006

--- Hans Oesterholt-Dijkema <hdnews at gawab.com> wrote:

> GNU Lightning uses a RISC instruction set. This could be
> hard to optimize for a CISC architecture. Could it be
> that this is a cause of the small speed gain?

I doubt it.  Most modern CPUs are RISC machines internally.
 For example, the Pentium 4 has 128 registers internally
and effectively is a load-store architecture.  I think the
main reason for poor performance from Lightning is that it
generates quite poor code.  The emphasis on speed of
compilation seems to have resulted in an instruction set
choice that is the intersection of that on all platforms,
and so is relatively inexpressive.  The code generation is
a direct translation from lightning instructions to
assembler, with no optimisations such as register
allocation performed.  Consequentially the CPUs resources
are underutilised and there is a lot of memory traffic. 
Net result is poor performance.


Email: noelwelsh <at> yahoo <dot> com   noel <at> untyped <dot> com
AIM: noelhwelsh
Blogs: http://monospaced.blogspot.com/  http://www.untyped.com/untyping/

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

Posted on the users mailing list.