« May 2003 | Main | November 2003 »

July 2003 Archives

July 10, 2003

cl-modlisp

The UMLisp web site recently switched from using Franz's AllegroServe to using Marc Battyani's speedy mod_lisp Apache module. This module provides an interface from Apache to a Lisp server process. One of the very nice features of mod_lisp is that it supports persistant connections using HTTP/1.1's Keep-Alive protocol.

The downside of mod_lisp is that it is a very low-level interface and requires the creation of a listener process running in Lisp. cl-modlisp is a high-level interface that I wrote and made freely available that makes using mod_lisp a pleasure. It has number of useful features for process control and web page generation.

July 11, 2003

Current UMLisp Benchmarks

I've written about my benchmarks and optimization efforts for my UMLisp library. Last month I spent a fair bit of time with Allegro's profiler. I optimized routines which used significant amounts of time. In some cases, this involved rewriting built-in Lisp functions with my own optimized replacements. So, my kmrcl library now has functions like prefixed-fixnum-string. No exactly what I wanted to do, but that optimized routine was many times faster than a frequently used invocation of (format nil "C~7,'0D" id).

Below are the initial and current print benchmarks. While I've previously lamented AllegroCL's speed, AllegroCL is now the fastest on the print benchmark. Its top rating was helped, no doubt, by using its profiler to guide my optimizations.

ImplInitial TimeCurrent TimeIncrease
AllegroCL 6.28.20.79930%
CMUCL 18e+2.21.2576%
Lispworks 4.2.75.81.97190%
SBCL 0.8.1.302.81.6471%
SCL 1.1.15.11.7200%

July 13, 2003

Webactions

I've been working on an object-oriented, high-level web framework based on cl-modlisp, hyperobject, and LML2. It's an interesting time for Franz to announce their Webactions package.

Though my approach is quite different than Franz's, it was interesting to consider how they handled some of the common web framework issues.

July 18, 2003

Testing Portable URI

I've recently uploaded Puri (Portable universal resource identifier) and tester (a regression suite). These are based on open-source packages from Franz. Like most Franz open-source software, they initially used many AllegroCL specific features. After my porting efforts, Puri successfully executes all 126 regression tests.

Puri and tester are available for download from my web server.

About July 2003

This page contains all entries posted to Kevin Rosenberg in July 2003. They are listed from oldest to newest.

May 2003 is the previous archive.

November 2003 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.