Re: the necessity of Lisp's Objects?



Jon Harrop wrote:
[snip]
In the context of compilation, Mathematica is basically in the same boat as
Lisp. If you want to run general purpose code efficiently then you've got a
real uphill struggle on your hands. There are some gallant attempts for
Lisp, like SBCL, but they will never compete with statically typed
languages because acquiring the information the compiler needs in order to
optimize the code completely erodes useful features like dynamic linking,
separate compilation and so forth. Furthermore, I find static typing an
essential tool for writing non-trivial programs correctly.


These over-generalizations used to apply. Now, not so much.

Whenever I had a really sticky problem, I would first work out the algorithm
in Lisp and then port it to C/C++ so I could get that last bit of
efficiency that was sometimes required. This technique served me well until two
weeks ago. To my astonishment, the SBCL version ran faster than the C++ -O3 executable.
The most impressive thing was, I wasn't even trying to optimize the
Lisp code (there were zero type declarations), yet the Lisp code consistently outran
the C++/STL code by a significant margin on the same machine. (I/O did not play a
major role.) This type of behavior may not happen every time for every program, but
it's certainly evident to me that CL is no longer sitting at the children's table.

My congratulations to the SBCL team. Even if this just means that C++/STL is getting
bloated more than that CL is getting faster, in either event, it was an eye opener
and very much appreciated.

L. Vanek
.



Relevant Pages

  • Re: multicore lisp?
    ... web page that SBCL does not care about thread safety, ... I object to the claim "as of December 2007 they have big locks around ... You're using a definition of thread safe here that I can't agree with. ... support for basic lisp operations in sbcl. ...
    (comp.lang.lisp)
  • Re: Java connected Lisp
    ... versions of GNU Classpath and SBCL, ... Invent a nice and fast interface for calls from Lisp to Java and back. ... The trick could be to hack the compiler so that it recognizes accesses ... Rewrite the "compiler" ...
    (comp.lang.lisp)
  • Re: Help --- Lisp IDE
    ... There are personal versions of commercial Common Lisp implementations, ... In fact, I tried almost all Lisps around: Franz, SBCL, Clozure (with ... shooting infrared images from Earth. ... volunteers and correct the satellite. ...
    (comp.lang.functional)
  • Re: Python and Lisp Test
    ... > For the record, your python version: ... > This is SBCL 0.9.4, an implementation of ANSI Common Lisp. ... If so, then get a language ...
    (comp.lang.lisp)
  • Re: We are happy to announce: our first Lisp production system went online
    ... programming scene about one and a half year ago to start our own Lisp ... especially to the SBCL developers! ... Apache2 (due to various headaches soon to be replaced by a lisp ... GByte disk in raid 5 and 16 GBytes ram. ...
    (comp.lang.lisp)