[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compilation of methods per class.
- To: lange@CS.UCLA.EDU
- Subject: Re: Compilation of methods per class.
- From: Doug Cutting <firstname.lastname@example.org>
- Date: Wed, 26 Sep 1990 09:12:13 PDT
- Cc: email@example.com, commonloops.PARC@xerox.com
- In-reply-to: "Trent Lange's message of Wed, 26 Sep 1990 06:17:12 PDT <firstname.lastname@example.org>"
Date: Wed, 26 Sep 1990 06:17:12 PDT
From: Trent Lange <lange@CS.UCLA.EDU>
(defmethod fast-foo :around ((self around-class1))
(cons 'fast-foo-around (call-next-method)))
(defmethod slow-foo :around ((self around-class1))
(cons 'slow-foo-around1 (call-next-method)))
[ ... ]
These conses are probably confusing your timings, mostly with GC
overhead. If you feel you must do some real computation here, fixnum
arithmetic might be better. And you might also check that your test
macro itself (which I've not read carefully) does not cons. Most CLOS
benchmarks should be executable without consing. (Methods which play
games with #'CALL-NEXT-METHOD are a notable exception.) Consing often
indicates a poor implementation of some CLOS facility, sometimes due
to missing compiler optimizations.