gp:draw-lines
I've been optimizing some code recently by passing long sequences to gp:draw-lines on large arrays instead of calling gp:draw-line for each line. This works very well, but my sequences are sometimes so long (up to 20000 elements) that I get a stack overflow. So consider this an informal enhancement request to the Lispworks guys to change the implementation of gp:draw-lines to a non-recursive one! Regarding the recent optimization discussion: I think I can avoid having to implement cluttering caching mechanisms by instead looking harder into what my code is actually spending its time doing. For instance, I discovered that I had been too sloppy setting the size of one large and complicated drawn-pinboard-object. The consequence was that there was a slight overlap with a frequently updated pinboard object - which triggered a full redraw of the drawn-pinboard-object instead of just a tiny redraw of one end of it. When I'm done implementing the fix, I'm expecting reducing cpu usage (in certain situations) to less than 10%. -- (espen)