|
From: | Dmitry Gutov |
Subject: | bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. |
Date: | Fri, 29 May 2015 20:12:34 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 |
On 05/29/2015 07:51 PM, Stefan Monnier wrote:
FWIW, doubling the size of the TAGS file will also double the size of the obarray and hence increase the completion time similarly regardless of whether we keep using an obarray or if we switch to searching the TAGS buffers.
Completion using obarray is currently an order of magnitude (or two) faster than the proposed patch that just uses search. Doubling that won't be a problem.
And the size of obarray may grow more than twice as big, or only a little, depending on what we're comparing to. The latter - if we're dealing with a C++ codebase with a lot of methods with the same name (and comparing against the same codebase where all names are qualified).
In any case, we can choose which entries to include in the obarray, in Lisp. If we don't want the unqualified names in completions (or the qualified ones, for some reason), we won't put them in the obarray, but we'll still be able to find them if asked by the user.
Yet another alternative is to build a trie, which would speed up prefix (and partial) completion (but not substring completion).
It doesn't seem warranted thus far. Displaying the completions currently takes considerably longer than finding them in the obarray.
[Prev in Thread] | Current Thread | [Next in Thread] |