
Scientific
Computing in
LISP
Didier Verna
Introduction
Experiments
The case of C
The case of
LISP
Raw LI SP
Typed LISP
Results
Type inference
Conclusion
Introduction
Myths and legends. . .
Facts:
“LISP is slow” . . . NOT ! (it’s been 20 years)
•
Smart compilers (⇒ native machine code)
•
Static typing (types known at compile-time)
•
Safety levels (compiler optimizations)
•
Efficient data structures (arrays, hash tables etc.)
Image processing libraries written in C or C++
(sacrificing expressiveness for performance)
LISP achieving 60% speed of C
(recent studies)
⇒ We have to do better:
Comparative C and LISP benchmarks
(part 1: full dedication)
4 simple image processing algorithms
Pixel storage and access / arithmetic operations
⇒ Equivalent performance
(LISP 10% better in some cases)
2/27