|
From: | JD Smith |
Subject: | Re: File path completions: strange speed discrepancy |
Date: | Sun, 19 Sep 2021 13:55:18 -0400 |
Quite interesting, I can try with an Emacs 28. But I wonder if you found the same discrepancy with Emacs v27.2 I did? In the meantime I’ve searched down many rabbit holes and zeroed in on tramp’s file handlers. I am using: (require 'tramp-sh) (defun my/test () (interactive) (progn (tramp-cleanup-all-connections) (elp-instrument-list '(file-remote-p tramp-file-name-handler completion-file-name-table tramp-handle-substitute-in-file-name substitute-in-file-name completion--sifn-requote file-name-completion file-name-all-completions completion--file-name-table file-exists-p completing-read read-file-name-internal read-file-name-default tramp-handle-file-name-completion tramp-sh-handle-file-name-all-completions)) (setq unread-command-events (mapcar 'identity "///ssh:datpi:/home/pi/no\tex\t/do\tma\tce\t\n")) (call-interactively #'find-file) (let ((elp-recycle-buffers-p nil)) (elp-results) (elp-reset-all)))) ;; first browse to remote directory (here "pi") (progn (with-current-buffer "pi" (my/test)) (my/test)) For me this implicates file-remote-p and tramp-file-name-handler, which again exhibit 10x differences between starting in a local or remote buffer. If this is fixed in Emacs 28 that’s wonderful, but it may be several years before everyone has migrated. Results: Starting in *scratch*: Tramp-file-name-handler 607 19.486156000 0.0321023986 read-file-name-default 1 6.738599 6.738599 completing-read 1 6.643299 6.643299 substitute-in-file-name 396 5.9316180000 0.0149788333 file-remote-p 1569 5.9054120000 0.0037638062 tramp-handle-substitute-in-file-name 90 5.8898210000 0.0654424555 read-file-name-internal 17 1.420594 0.0835643529 completion--file-name-table 17 1.420297 0.0835468823 completion--sifn-requote 5 1.3667250000 0.2733450000 completion-file-name-table 22 0.767013 0.0348642272 file-name-completion 6 0.733239 0.1222065 tramp-handle-file-name-completion 6 0.7313359999 0.1218893333 file-name-all-completions 6 0.7093809999 0.1182301666 tramp-sh-handle-file-name-all-completions 6 0.7077049999 0.1179508333 file-exists-p 16 0.037264 0.002329 Starting in remote dired buffer “pi”: tramp-file-name-handler 1429 3.1352620000 0.0021940251 read-file-name-default 1 0.953455 0.953455 completing-read 1 0.94828 0.94828 completion-file-name-table 22 0.7587730000 0.0344896818 file-name-completion 6 0.7366199999 0.1227699999 tramp-handle-file-name-completion 6 0.734705 0.1224508333 file-name-all-completions 6 0.7178499999 0.1196416666 tramp-sh-handle-file-name-all-completions 6 0.7160390000 0.1193398333 substitute-in-file-name 482 0.3317939999 0.0006883692 tramp-handle-substitute-in-file-name 167 0.2854299999 0.0017091616 file-remote-p 4088 0.1552450000 3.797...e-05 read-file-name-internal 17 0.08041 0.00473 completion--file-name-table 17 0.080114 0.0047125882 file-exists-p 101 0.0680669999 0.0006739306 completion--sifn-requote 5 0.019765 0.003953
|
[Prev in Thread] | Current Thread | [Next in Thread] |