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

Common Lisp for SUNS



I'm not the right person to send you benchmark data on Lucid Common
Lisp, but I thought I should mention that Sun Common Lisp is Lucid 
Common Lisp.  (Lucid makes it, Sun sells it.)

Also, I can give some general advice about benchmarks:

(1)  Be sure to note the releases being compared.  For example, LCL
     Version 3.0 is significantly different from LCL Version 2.1.  We
     added a second compiler, an ephemeral garbage collector,
     multi-tasking, better inline floating point code, new interrupts,
     new I/O, etc., etc.  

(2)  Be sure that the person who produced the benchmark values
     understands the benchmarks and the lisp being tested.  Proper use
     of declarations and compiler settings can sometimes produce  
     order-of-magnitude differences.  Also, for example, the use of a
     feature such as ephemeral garbage collection may reflect a
     decision to accept a somewhat increased running time in order to
     avoid detectable pauses for GC.  Turning EGC off may result in
     different (usually faster) benchmark values, and might or might
     not be appropriate for various applications.  You need to
     understand how you're going to use the lisp to know what settings
     are appropriate. 

(3)  Ask for the *precise* techniques used to obtain the benchmarks,
     including processor speed, memory size, load on the machine, etc.
     I know that some of the people at Lucid have produced benchmark
     figures using what we call the "low-mode" -- we run each
     benchmark about 20 times or more, then use some statistics to
     produce a number one could expect to be the low value obtained 
     in a typical set of about 3 runs.  (We didn't want to just
     scrounge for the lowest value, since that's not always
     reproducible, yet did want to give a fair indication of the
     performance possible.)  I'm pretty sure the techniques used are
     distributed with the benchmark numbers. 

(4)  If performance is critical, explain this to the vendor.  For
     example, Lucid is now productizing tools to reorganize your code
     based on an analysis of its dynamic performance, since code and
     data locality can have order-of-magnitude affects on real-life
     applications.  Remember that you are going to be running
     applications day-to-day, and not just benchmarks.  Support in
     this area can be as crucial as the underlying speed of the lisp! 

Happy hunting,

  jlm