unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Mikhail Pomaznoy <mikpom@mikpom.ru>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 59151@debbugs.gnu.org
Subject: bug#59151: Major performance issues in dired over ssh (Tramp) when remote directory contains symlinks
Date: Thu, 10 Nov 2022 16:30:30 +0700	[thread overview]
Message-ID: <a0da7b44-3ccc-d3e8-5094-07040c6706df@mikpom.ru> (raw)
In-Reply-To: <87k043xj7j.fsf@gmx.de>

> I recommend you to disable the buffer-local font-lock-mode in a remote
> dired buffer with so many symlinked files, via `M-x font-lock-mode'.
Indeed, disabling font-lock works like a charm and restores the performance

> This takes time for remote files, especially if you don't use Tramp
> caches, or caches with a short timeout.
What an average Emacs Tramp user can do about those caches? searching 
for keywords `tramp cache` in customize menu of emacs gives nothing. If 
I search for `cache` in Tramp manual there is just a single section 
which doesn't look relevant for this case. Is the caches you talking 
about something "sophisticated" or simply documentation is lacking?

Of course certain lag is fine and expected when the directory is listed 
for the first time. But on every scroll ?

Thanks for your reply,

-Mikhail

On 11/10/22 16:16, Michael Albinus wrote:
> Mikhail Pomaznoy <mikpom@mikpom.ru> writes:
>
>> Greetings emacs devs, or to whom it may concern!
> Hi Mikhail,
>
>> I am having troubles with dired listings of remote directories
>> containing many files and symlinks. When I scroll through such a dired
>> buffer Emacs lags (over a second) on every page-down scroll.
>>
>> The problem is easily reproducible with -Q if the directory contains a
>> hundred files and a hundred symbolic links to some other hundred files
>> somewhere on the filesystem. If I kill the links in the dired buffer
>> (without deleting any actual files or links) then everything scrolls
>> smoothly as usual.
>>
>> Could you please check if thats a real issue in your setting? ssh
>> connection I am using is not so slow...
> Dired does a lot of work for applying proper faces for the file
> status. For symlinked files, for example, it calls file-truename,
> file-exists-p, file-directory-p, for every single file in the
> listing. Some of them even several times.
>
> This takes time for remote files, especially if you don't use Tramp
> caches, or caches with a short timeout.
>
> I recommend you to disable the buffer-local font-lock-mode in a remote
> dired buffer with so many symlinked files, via `M-x font-lock-mode'.
>
>> Kind regards,
>>
>> -Mikhail
> Best regards, Michael.





  reply	other threads:[~2022-11-10  9:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09 14:45 bug#59151: Major performance issues in dired over ssh (Tramp) when remote directory contains symlinks Mikhail Pomaznoy
2022-11-10  9:16 ` Michael Albinus
2022-11-10  9:30   ` Mikhail Pomaznoy [this message]
2022-11-10 10:54     ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a0da7b44-3ccc-d3e8-5094-07040c6706df@mikpom.ru \
    --to=mikpom@mikpom.ru \
    --cc=59151@debbugs.gnu.org \
    --cc=michael.albinus@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).