CLIM mail archive


Re: reducing time overhead of text display (in 1.1)

   cc: clim@BBN.COM
   Reply-To: jmorrill@BBN.COM
   Date: Mon, 20 Dec 93 18:26:13 -0500
   From: Jeff Morrill <jmorrill@BBN.COM>

   I can't resist commenting on this.

   Often, C++ programs have no run-time dispatching.  (C++ is virtually an
   object-oriented language!)

'virtually' is the operative word there...

   Don't forget that clim uses &rest and &key profusely.  These are inherently
   slow and should have been avoided for operations that are supposedly efficent.
   For example, every time I call DRAW-LINE*, clim has to take apart all those
   keywords just in case I want dotted lines (even though I never do).  Using
   &rest or &key increases the cost of a function call by as much as an
   order of magnitude.

yeah. y'know, that is one of the things that hacks me off about CL in
general, is that so many functions have all these wonderfully
order-independent keywords that cost a bunch of time.

I think that there should be two versions of functions: the
order-dependent and the order-IN-dependent. the order-dependent
doesn't even use keywords, has a fixed set or req'd args. the other
one is actualy a macro that expands into the dependent function, and
fills in missing args. that way, the pain occurs only at compile time.

the programmer is free to use either one, and knows the penalty for
doing so (and by compiling it out, it's virtually non-existant).

 -- clint


Main Index | Thread Index