[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] ido slow for outline path completion

From: Samuel Wales
Subject: Re: [Orgmode] ido slow for outline path completion
Date: Thu, 18 Dec 2008 16:57:39 -0700

Hi Carsten,

On Mon, Dec 15, 2008 at 02:36, Carsten Dominik <address@hidden> 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

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?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]