[Openmcl-devel] Quick HW question...

Spires, Shannon V svspire at sandia.gov
Tue Nov 16 18:30:09 UTC 2010


Matt wrote:
> 
> On modern x86, I've all but given up.  I just write
> naive and straightforward code, and assume (or hope) that
> the hardware guys have optimized for that. In my experience,
> measurements typically show that the difference in execution
> time between "clever" and naive code is negligible.
> 
> Intel has an optimization guide (you should be able to
> find it at http://www.intel.com/products/processor/manuals/).

But how do you even write clever cache-aware code in Lisp? Lisp is a pointer-following language with garbage collection; Lisp data is a dynamic graph where the nodes point all over the place and are constantly moving around. A C program is more like one big node: Its data is all in one place and it doesn't move around. Modern cache architectures were built with C-like programs in mind; they're hell for Lisp.

We either need to find a way to build uniform-speed memory (including the non-volatile variety) or move to something like Cray's XMT architecture if we want Lisp to run really fast.

-SS





More information about the Openmcl-devel mailing list