Take the 2-minute tour ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

Theoretically speaking, is it possible to have a Lisp/Scheme compiler that can produce code that can compete with compiled C, let's say within 15-25% margin?

In my testing, I've found that the current crop of compilers (Bigloo, SBCL, Gambit, Chicken, etc) are 20-50 times slower than equivalent C code.

The only outlier is the Stalin compiler. For simple programs, it produces binaries that are equivalent to C. However, what I find suspicious is that none of the other projects (Bigloo, Chicken, Clozure, etc) have attempted to implement whatever tricks Stalin uses ("whole program optimization", etc).

I'm a huge fan of LISP since the mid 90s and would love to bring it on board so my team can crank out projects in half the time in normally takes using C/C++/.NET/etc, but...the performance issues are a huge roadblock.

I wonder if the lack of quality LISP compilers are due to the fact that no serious time and money has been invested into the subject OR if this simply isn't a feasible task given the current state of compiler technology??

share|improve this question
1  
I believe you tested the Common Lisp compilers with (declare (optimize ...)), (declare (<type> <var)) and (the <type> <expr>) in your functions? Otherwise it's hardly a fair comparison :) –  Jakub Lédl Feb 4 '13 at 22:21
    
I think cs.stackexchange.com/questions/842/… answers this question. –  Kyle Jones Feb 4 '13 at 22:25
    
@KyleJones Does it? My guess is that with maximum optimizations, Common Lisp can get within the margin specified by the OP, if not closer. –  Jakub Lédl Feb 4 '13 at 22:38
    
Just changing the programming language will never get your team to crank out four times as much correct code in the same time. What studies have shown is that programmers experienced in the language turn out approximately the same number of code lines per unit time for fixed problem complexity, independent of the language. So you won't gain anything unless in your problem area LISP programs are much shorter. One other thing to consider is that you have to get people experienced in LISP for development and maintenance. And those are far in between. –  vonbrand Feb 4 '13 at 23:27
1  
It seems to me that this question asks more for programmer experience than for a scientific answer. Therefore, this may be the wrong site for the question. –  Raphael Feb 6 '13 at 7:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.