ABSTRACT

EusLisp is an object-oriented Lisp with geometric modeling facilities for robotics applications. In order to boost the execution of robotics applications and to add asynchronous programming facilities in Lisp, EusLisp is re-implemented to make use of multithread capability of modern SMP machines. The implementation employs the thread pool to minimize the time required for the thread creation, the per-thread free lists for efficient memory allocation, and the last-alloc structure to enable safe garbage collection at anytime. Most Lisp primitives exhibit almost linear performance to the increase of concurrency, while reasonable performance is obtained for memory hungry benchmarks.