[ESS] Slow help culprit found!

Seb spluque at gmail.com
Sat Oct 23 19:14:12 CEST 2010


On Sat, 23 Oct 2010 18:21:50 +0200,
Martin Maechler <maechler at stat.math.ethz.ch> wrote:

> On Sat, Oct 23, 2010 at 12:35, Vitaie S. <spinuvit.list at gmail.com> wrote:
>> spinuvit.list at gmail.com (Vitalie S.) writes:
>>> The rationale of calling that function in `ess-find-help-file', is
>>> somewhat elusive to me:

>>> (ess-uniq-list (append (ess-g     et-help-files-list)              
>>>          (ess-get-help-aliases-list)                        (mapcar
>>> 'list                                (ess-get-object-list          
>>>                       ess-current-process-name))))

>>> It examines only *attached* packages, and thus, brings only
>>> duplication (anything else?) of already comprehensive (but
>>> efficient) `ess-get-object-list'.  Moreover ,
>>> `ess-get-help-aliases-list' does not cache anything and rereads all
>>> the RDS files each time one calls \C-c\C-v.

>> Well, I see now (after removing ess-get-help-aliases-list) that there
>> are topics in help not associated with any object.

> well, of course, that's why this was a new *feature* (in ESS 5.9.1
> which is a while old, why did nobody till now "complain" ?), really
> quite important for consistent help page searching.

Indeed, I had introduced this feature to make
`ess-display-help-on-object' more comprehensive (everything with an
\alias).  In my case (Debian sid AMD64, GNU Emacs 23.2.1
(x86_64-pc-linux-gnu, GTK+ Version 2.20.1) of 2010-08-15 on barber,
modified by Debian, ESS 5.11, and R 2.12.0), I've never experienced the
delays that Vitalie describes, and this is the first time we hear this
issue.


>> Then, maybe `ess-get-help-aliases-list' can be changed to cache the
>> output, and update only if search path was changed, akin to how
>> `ess-get-object-list' works.

> Yes, that's a good idea, ... patches are welcome ;-) .. or another ESS
> core member has more time than I have currently ..

I remember thinking about caching the output somehow, but since the
impact of recomputing the completions was negligible, I kept things
simple to begin with.  Time to reconsider.  I can look into this, but
I'm afraid I won't be able to do so soon, so patches would be great!


-- 
Seb



More information about the ESS-help mailing list