Article View: comp.lang.clos
Article #198Re: shared :initarg problem in August 4 PCL
From: Bill Schottstaedt
Date: Fri, 28 Aug 1992 14:22
Date: Fri, 28 Aug 1992 14:22
63 lines
3555 bytes
3555 bytes
(from Rick Taube, hkt@zkm.de):
Thanks for posting the :initargs fix for August 4 PCL. I was able to
compile and everything seems to be working now. However, upon doing
a benchmark between "March 92 PCL (2c)" and August 4 (using the
bench-this-clos code that was posted to comp.lang.lisp by
jmorrill@bbn.com a few days ago) I got some results that I did not
expect: March 92 ran the suite much faster then August 4. From
reading the newgroup, I had expected the Aug 4 release to be the same
or maybe a bit faster with respect to slot-access. I ran the
benchmark on the same machine (Next Cube 16Megs) in the same base
lisp (Allegro CL 3.1.20 [NeXT] (3/7/91)). Only the pcl versions are
different.
I'm pretty sure that something somewhere isnt right in Aug 4 because
I called out of the make-instance benchmark after 15 minutes had
passed! I then compiled and ran simple make-instance timing test of
my own:
(defun test () (time (dotimes (i 500) (make-instance 'midi-note))))
and the results were:
August 4:
<cl> (test)
cpu time (non-gc) 20,200 msec user, 6,034 msec system
cpu time (gc) 0 msec user, 0 msec system
cpu time (total) 20,200 msec user, 6,034 msec system
real time 44,256 msec
March 2c:
<cl> (test)
cpu time (non-gc) 1,850 msec user, 434 msec system
cpu time (gc) 0 msec user, 0 msec system
cpu time (total) 1,850 msec user, 434 msec system
real time 3,485 msec
One other thing worth noting - in March PCL I raised the number of
iterations in the default method result shown below from 1000000 to
2000000, but it looks as if March 4 performs some compiling
optimizations that August 4 doesnt in the case of a default method
like: (defmethod strange ((x t)) t)
There is such a difference in general that I dont really know which
set of numbers to believe. According to the comments in the benchmark
suite, the number printer is the operations per second.
--------------------------------------------------------------------
March 2c August 4
1 default method: 487,804.9 7,027.4067
1 dispatch, 1 method: 92,592.586 20,631.318
1 dispatch, :around + primary: 24,919.014 3,800.4028
1 dispatch, 3 methods, instance: 81,866.555 13,518.993
1 dispatch, 3 methods, noninstance: 16,863.406 9,541.984
2 dispatch, 2 methods: 59,224.16 79,176.56
slot reader method: 140,154.17 37,792.895
with-slots (1 access): 58,360.082 5,737.2354
with-slots (1 modify): 54,141.85 5,556.482
naked slot-value: 9,385.266 2,445.1672
class-of instance: 54,644.81 61,996.277
class-of noninstance: 20,597.322 20,631.318
allocate-instance (2 slots): 4,310.3447 1,557.1473
make-instance (2 slots): 691.85004 ---
make-instance (2 constant initargs): 674.3998 ---
make-instance (2 variable initargs): 660.15314 ---
Technical Details
Message-ID:
<1992Aug28.142217.2211@leland.Stanford.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!leland.Stanford.EDU!newsReferences:
<-gqy#qp@rpi.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.lang.clos Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!leland.Stanford.EDU!news From: bil@cmn16.Stanford.EDU (Bill Schottstaedt) Subject: Re: shared :initarg problem in August 4 PCL Message-ID: <1992Aug28.142217.2211@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <-gqy#qp@rpi.edu> Date: Fri, 28 Aug 92 14:22:17 GMT Lines: 66