[armedbear-ticket] [armedbear] #76: Slime (swank) fuzzy completion very slow
#76: Slime (swank) fuzzy completion very slow -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Keywords: | -------------------------+-------------------------------------------------- In [http://common-lisp.net/pipermail/armedbear-devel/2009-July/000062.html a mail to the development list], Anton Vodonosov writes about the relative speed of ABCL, CCL and Clisp on slime fuzzy completion. ABCL is by far the slowest. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/76> armedbear <http://common-lisp.net/project/armedbear> armedbear
#76: Slime (swank) fuzzy completion very slow --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Resolution: | Keywords: --------------------------+------------------------------------------------- Comment(by ehuelsmann): To reproduce, in ABCL run (inside the slime/ directory): {{{ $ abcl (require 'asdf) (asdf:oos 'asdf:load-op :swank) (swank-loader::init :load-contribs t) }}} For clisp, run in the same directory, with these commands: {{{ $ clisp (load "swank-loader") (swank-loader::init :load-contribs t) }}} The form to be executed (and hence profiled) is: {{{ (let ((swank::*buffer-package* *package*)) (swank::fuzzy-completions "de" 'cl-user))) }}} Using (TIME ...) on the given form, ABCL returns 0.2 seconds, while clisp returns 0.08 seconds. Clearly, clisp still is a lot faster, but I'd be surprised if ABCL is still "intolerably slow". -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/76#comment:1> armedbear <http://common-lisp.net/project/armedbear> armedbear
#76: Slime (swank) fuzzy completion very slow --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: Component: other | Version: Resolution: | Keywords: --------------------------+------------------------------------------------- Comment(by ehuelsmann): Hottest code - data collected with the hot spot profiler: {{{ 24.1 65 SWANK::FUZZY-CONVERT-MATCHING-FOR-EMACS 26.3 71 SOME 35.9 97 SWANK::COMPUTE-MOST-COMPLETIONS 45.9 124 SWANK::RECURSIVELY-COMPUTE-MOST-COMPLETIONS 48.5 131 SWANK::COMPUTE-HIGHEST-SCORING-COMPLETION 71.5 193 SWANK::FUZZY-FIND-MATCHING-SYMBOLS 85.2 230 SWANK::FUZZY-GENERATE-MATCHINGS 100.0 270 SWANK::FUZZY-COMPLETION-SET }}} Evaluate this form to reproduce: {{{ (progn (prof:with-profiling () (let ((swank::*buffer-package* *package*)) (swank::fuzzy-completions "de" 'cl-user))) (prof:show-hot-counts)) }}} -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/76#comment:2> armedbear <http://common-lisp.net/project/armedbear> armedbear
#76: Slime (swank) fuzzy completion very slow --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: enhancement | Status: new Priority: major | Milestone: unscheduled Component: other | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann): * keywords: => performance * milestone: => unscheduled Comment: Unscheduled. Waiting for someone to do more research; the hot-spot list still looks roughly the same. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/76#comment:3> armedbear <http://common-lisp.net/project/armedbear> armedbear
participants (1)
-
armedbear