[Top][All Lists]

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

Re: File path completions: strange speed discrepancy

From: Michael Albinus
Subject: Re: File path completions: strange speed discrepancy
Date: Sun, 19 Sep 2021 13:35:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Michael Albinus <> writes:


>>     Let me think over night, what we could do for checking (yes, I
>>     often
>>     have my best ideas in bed, when I cannot sleep :-) 
>> (I hate to wish someone a poor sleep… so: ) Enjoy your weekend, and
>> thanks again!
> Thanks, more food for next nights :-)
> If you like, you can also instrument `tramp-handle-file-name-completion'
> and `tramp-sh-handle-file-name-all-completions'. These are the two
> working horses of Tramp for this task.

My grand-daughter is delayed, so I could spend time for this. I have
rewritten your test code to this:

--8<---------------cut here---------------start------------->8---
  (require 'tramp-sh)
  (elp-instrument-list '(completion-all-completions 
tramp-handle-file-name-completion tramp-sh-handle-file-name-all-completions))
  (setq unread-command-events (mapcar 'identity 
  (call-interactively #'find-file)
--8<---------------cut here---------------end--------------->8---

elp.el is a profiler, which does the same what you have done with your

Adding text to `unread-command-events' gives us more reproducibility for
tests, we don't have to enter the string in minibuffer again and
again. See the "\t" markers I have added. 

Running this code snippet, gives me

--8<---------------cut here---------------start------------->8---
tramp-handle-file-name-completion          3           14.593368386  4.864456129
tramp-sh-handle-file-name-all-completions  4           13.569945073  
completion-all-completions                 1           0.045356578   0.045356578
--8<---------------cut here---------------end--------------->8---

when running from the *scratch* buffer, and

--8<---------------cut here---------------start------------->8---
tramp-handle-file-name-completion          3           7.354284338   
tramp-sh-handle-file-name-all-completions  4           6.3414164699  
completion-all-completions                 1           0.047973254   0.047973254
--8<---------------cut here---------------end--------------->8---

when running from a remote buffer. This is with Emacs 27.2.

When I use Emacs 28.0.50, the current development version, I get for
the *scratch* buffer

--8<---------------cut here---------------start------------->8---
tramp-handle-file-name-completion          3           8.882787691   
tramp-sh-handle-file-name-all-completions  4           7.8532386379  
completion-all-completions                 1           0.033517331   0.033517331
--8<---------------cut here---------------end--------------->8---

and for a remote buffer

--8<---------------cut here---------------start------------->8---
tramp-handle-file-name-completion          3           7.1762729730  
tramp-sh-handle-file-name-all-completions  4           6.1084943250  
completion-all-completions                 1           0.06225497    0.06225497
--8<---------------cut here---------------end--------------->8---

Both results look close, so there seems to be an improvement. All tests
performed with "emacs -Q".

>> Best,
>> JDS

Best regards, Michael.

reply via email to

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