Update on McCLIM's Beagle backend - Lisp Propulsion Laboratory log

Lisp Propulsion Laboratory log

Paolo Amoroso's weblog. Main interests: Lisp, astronomy (Moon), space exploration (Apollo and early manned programs) Calendar of past entries | Related links xml

Update on McCLIM's Beagle backend

Sunday, August 22, 2004

Duncan Rose continues his work on McCLIM's Beagle backend for OpenMCL with Cocoa. He moved around the window flushing code in an attempt to improve performance (not completely successful, it appears), played with clim:text-size, added modifier event code, did some initial steps towards running both a CLX and a Beagle port at the same time, and a few more tweaks.

I am not a Mac user and I don't have access to OpenMCL. But I report this here because the information is buried in CVS commit logs, and the McCLIM mailing list is not archived. More precisely, the list archive is currently broken, and I didn't get any feedback on my proposal of subscribing Gmane.

In the file Backends/beagle/README.txt of McCLIM's source tree, Duncan writes:

KNOWN LIMITATIONS / TODO LIST

1. Speed! The current implementation is __slow__, especially when there is a large output history. Paolo's speed test takes 26 seconds and conses 16MB on my (admittedly slow) iMac compared to 1.5 seconds on a 2.4GHz Pentium IV and unknown (to me) consing.

What he generously calls a "speed test" is just the crude McCLIM stress test I described in the August 19 entry, i.e. making the CLIM listener draw the complete class hierarchy in the running Lisp image. Here is a typical run, including consing information, on my machine (the 2.8 GHz Pentium IV with Debian Woody mentioned above by Duncan) with CMUCL 19a-pre3 and current McCLIM CVS sources:

(time (clim-listener::com-show-class-subclasses t))

; Evaluation took: ; 1.21 seconds of real time ; 1.16 seconds of user run time ; 0.05 seconds of system run time ; 3,383,178,120 CPU cycles ; [Run times include 0.27 seconds GC run time] ; 3 page faults and ; 35,963,632 bytes consed.

But this test probably compares apples and oranges -- no pun intended -- and I'm not sure how reproducible it is. The class hierarchies of Lisp images running on different architectures, Lisp systems, graphics backends, and loaded subsystems, are likely to be significantly different.

Still, the test gives McCLIM a good shake. And it may be fun to compare the overall shapes of such class hierarchy graphs.


Copyright © 2004 by Paolo Amoroso
amoroso@mclink.it

Created with BlogMax

August 2004
Mon Tue Wed Thu Fri Sat Sun
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Jul  Sep
About Lisp | Practical Common Lisp (learn Lisp) | Planet Lisp (blog agregator) | Common Lisp Directory (software and resources) | Why Lisp?