[slime-devel] slime-fuzzy-complete-symbol
Brian Downing
bdowning at lavos.net
Thu May 25 03:25:55 UTC 2006
On Mon, May 08, 2006 at 01:03:08PM -0500, Brian Downing wrote:
> On Mon, May 08, 2006 at 06:49:33PM +0100, Antonio Menezes Leitao wrote:
> > Another very good improvement would be anything that speeds up the
> > computation of the completions. It is taking too long for normal
> > interactive use, at least in my centrino laptop.
>
> Okay, there has been no though paid to optimization of the completion
> core, so speedups shouldn't be hard. I've never had a problem with it
> though.
I've committed some micro-optimizations and un-generalizations (i.e. it
only works on simple-strings now), which have resulted in a speed increase
of about 4-5x for the core algorithm on SBCL. At this point most of
the time is spent on the emacs side rendering the buffer for long result
lists, which I don't know how to optimize. There's a currently unused
LIMIT argument to the FUZZY-COMPLETIONS slimefun. This will only send
a certain number of results back to emacs, which may help with rendering
speed at the cost of missing low-scoring results.
I've only got SBCL and Lispworks to test with here, so please let me
know if I've broken things for your favorite Lisp.
2006-05-24 Brian Downing <bdowning at lavos.net>
* swank.lisp (recursively-compute-most-completions & friends):
Micro-optimize the fuzzy completion engine, improving performace
by a factor of about 4 on SBCL. However, it will only work on
simple-strings now, and CHAR= is burned in instead of being an
option. I don't think this is too much of a limitation. At this
point rendering the results on the emacs side takes much longer
than finding them for long result lists.
Hope this helps,
-bcd
More information about the slime-devel
mailing list