From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Samuel Wales" Subject: Re: ido slow for outline path completion Date: Thu, 18 Dec 2008 16:57:39 -0700 Message-ID: <20524da70812181557m79252c30hc941fe5965f917e8@mail.gmail.com> References: <20524da70812121204x9a23736g5a03f8a04d8213d5@mail.gmail.com> <67E6FD56-F95F-4EEB-8BC3-4ED566B2ECAB@uva.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LDSkW-00061l-A3 for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 18:57:48 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LDSkU-00060q-N6 for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 18:57:47 -0500 Received: from [199.232.76.173] (port=40460 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LDSkU-00060k-IB for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 18:57:46 -0500 Received: from mail-bw0-f12.google.com ([209.85.218.12]:54941) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LDSkT-0005lG-BB for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 18:57:46 -0500 Received: by bwz5 with SMTP id 5so1467731bwz.18 for ; Thu, 18 Dec 2008 15:57:40 -0800 (PST) In-Reply-To: <67E6FD56-F95F-4EEB-8BC3-4ED566B2ECAB@uva.nl> Content-Disposition: inline List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org Hi Carsten, On Mon, Dec 15, 2008 at 02:36, Carsten Dominik wrote: > 1. Compile Org! Are you using byte-compiled files? > In a case like this, the differences may be significant. Always! :) > 4. Create the list of headings with full outline path > in a single path of the file, similar to the tags matcher. > This would avoid the N^2 operation I discussed above. Single pass? Very nice. > There is also a new variable `org-goto-max-level' with > a default of 5. Excellent. Might also be useful to unify the syntax for org-goto, org-refile, remember. > This should be *a lot* faster now. Thanks for the report! Almost instantaneous in many cases. However, when I do org-refile as full path (not basenames), it sometimes takes 45 seconds. I haven't narrowed it down yet. Emacs just freezes. Every character I type from that point on takes another 45 seconds or so. Deletes also take that long until I get back to the place where it was fast. At that point it is fast again. The difference from before is that before, it occurred before the minibuffer showed the candidates, while now it occurs in the middle of entering the selection string. Discontiguity might something to do with it -- sometimes it happens when the character typed is different from the next char in the target. Maybe the candidate list needs lots of searching in that case. Maybe it is starting from the beginning to match against the path? I have not noticed this happening when I use basenames in org-refile ido. This leads me to conjecture that it might be the size of the full paths. Maybe too much stuff for the ido flex matcher to consider. uniquify-style disambiguation might help by reducing the number of characters. It might or might not have something to do with typing a space that exists next in the target -- or not typing the same. Another possible hint is that sometimes, typing a space inserts a slash. Not sure why. As I said, I have not narrowed down the exact cases. If you have a priori ideas, please let me know and I will try them. Thank you very much. -- Myalgic encephalomyelitis denialists are knowingly causing further suffering and death by opposing biomedical research on this serious infectious disease. Do you care about the world? http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm