Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!sri-unix!hplabs!hplabsc!kempf From: kempf@hplabsc.UUCP Newsgroups: comp.lang.lisp Subject: Profiling Common Lisp Message-ID: <1310@hplabsc.UUCP> Date: Tue, 17-Feb-87 12:23:21 EST Article-I.D.: hplabsc.1310 Posted: Tue Feb 17 12:23:21 1987 Date-Received: Wed, 18-Feb-87 06:08:03 EST Organization: Hewlett-Packard Laboratories Lines: 18 We use a 10 microsecond clock to profile our Common Lisp and we can often shave a good deal of time off applications by identifying functions which are slow or getting called excessively. For instance, I was recently able to shave 10-7x off an application by using our profiling tools. Another useful tool is a "cons-meter", which allows the developer to identify where excessive consing is occuring. Profiling is time consuming, however, the motivation to do it is stronger in Lisp than in C, since applications can run unacceptably slow if the developer doesn't know where the time is going. While some people might take this as an argument to simply use C, there are some things which are difficult to do in C. Embedded languages are relatively easy in Lisp, much more difficult in C, due to the lack of the ability to dynamically modify the compiler. I was interested to see that a CL application ran only 2x slower than the equivalent C++ application. Jim Kempf kempf@hplabs.hp.com