Corpus ID: 7827948

Beating C in Scientific Computing Applications On the Behavior and Performance of LISP, Part 1

  title={Beating C in Scientific Computing Applications On the Behavior and Performance of LISP, Part 1},
  author={Didier Verna},
This paper presents an ongoing research on the behavior and performance of LISP with respect to C in the context of scientific numerical computing. Several simple image processing algorithms are used to evaluate the performance of pixel access and arithmetic operations in both languages. We demonstrate that the behavior of equivalent LISP and C code is similar with respect to the choice of data structures and types, and also to external parameters such as hardware optimization. We further… Expand
C LOS Efficiency : Instantiation On the Behavior and Performance of L ISP , Part 2 . 1
This article reports the results of an ongoing experimental research on the behavior and performance of CLOS, the COMMON-LISP Object System. Our purpose is to evaluate the behavior and performance ofExpand
Executable Pseudocode for Graph Algorithms
A case study showing the use of Common Lisp macros to provide an embedded, domain-specific language for graph algorithms, allowing rapid prototyping at the algorithm level and seeing how the implementation compares favourably with state-of-the-art implementations in imperative programming languages. Expand
How the strengths of Lisp-family languages facilitate building complex and flexible bioinformatics applications
Lisp grants programmers unprecedented power to build increasingly sophisticated artificial intelligence systems that may ultimately transform machine learning and artificial intelligence research in bioinformatics and computational biology. Expand
Symbolic Pattern Matching in Clojure
This paper argues that pattern matching and unification differ in significant ways that give them different semantics, both useful and useful, and shows that matcher capability is enhanced by allowing patterns to be dynamically created or embedded in data structures like rules and statechanging operators. Expand
P2R: Implementation of Processing in Racket
This paper presents a system, which combines the best of each approaches with respect to common tasks in computer vision, the applicative language Racket and the VIGRA C++ library, and makes suggestions for the generic extension of applicative programming languages into other research areas as well. Expand
Context-Oriented Image Processing: Reconciling genericity and performance through contexts
A potential use for the Context-Oriented programming paradigm is explored in order to maintain a high level of genericity in an experimental image processing library, without sacrificing either the performance or the original object-oriented design of the application. Expand
A middleware for software evolution of automation software
A novel approach will be discussed to provide a more flexible and quite general solution, a common middleware, to reconfigure automation software dynamically with minimal downtime, to integrate different programming languages, container systems, frameworks, libraries, control applications and drivers. Expand


Performing Lisp analysis of the FANNKUCH benchmark
This paper analyzes the FANNKUCH benchmark, that was discussed on the comp.lang.lisp internet newsgroup during September 1994, and reviews the performance issues underlying it, and finds the improved version is between 24 and 116 percent slower than C when run on several Lisp implementations. Expand
Fast floating-point processing in Common Lisp
There are a surprising number of advantages to Lisp, especially in cases where a mixture of symbolic and numeric processing is needed, and it is compared to Fortran in terms of the speed of efficiency of generated code and the structure and convenience of the language. Expand
Performance Beyond Expectations
The performance of Common Lisp based Image Understanding Systems has been significantly improved by the careful choice of declarations, object representations, and method dispatch in a small numberExpand
Performance and evaluation of Lisp systems
This final report of the Stanford Lisp Performance Study is the first book to present descriptions on the Lisp implementation techniques actually in use and can serve as a handbook to the implementation details of all of the various current Lisp expressions. Expand
On Using Common Lisp for Scientific Computing
First, the efficiency of BLAS routines written in C and Common Lisp are compared and second, the recently developed toolbox FEMLISP for solving partial differential equations with finite element methods and multigrid is discussed. Expand
Building common Lisp applications with reasonable performance
This paper describes our experience with a number of methods that can be used to improve the performance of Common Lisp applications. These methods include vendor-independent optimizations such asExpand
The Python compiler for CMU Common Lisp
The Python compiler for CMU Common Lisp has been under development for over five years, and now forms the core of a production quality public domain Lisp implementation. Python synthesizes the goodExpand
A Static C++ Object-Oriented Programming (SCOOP) Paradigm
Object-oriented and generic programming are both supported in C++. The former provides high expressiveness whereas the latter leads to more efficient programs by avoiding dynamic typing. This paperExpand
Hacker's Delight
The term "hacker" in the title is meant in the originalsense of an aficionado of computers—someone who enjoys making computers do new things, or do old things in a new and clever way. Expand
Object-oriented programming in COMMON LISP - a programmer's guide to CLOS
1章 CLOSモデルの紹介 2章 CLOSプログラムの要素 3章 簡単なCLOSプログラムの開発—ロック 4章 メソッドを用いたプログラミング 5章 総称的ディスパッチの制御 6章 継承 7章 CLOS要素の定義 8章 CLOS要素の再定義 9章 インスタンスの生成と初期化 10章 手続き的定義—初期化 11章 高度なCLOSプログラムの開発—ストリーム 12章 CLOSの重要ポイント