Subject: Re: bug#20961: 24.5; `dired-jump' quite slow under Cygwin Emacs

From: Eli Zaretskii <[email-masked]>
Date: Thu, 02 Jul 2015 17:57:42 +0300

> From: Sebastien Vauban <[email-masked]>
> Date: Thu, 02 Jul 2015 12:27:11 +0200
> 
> Now that profiling works under Cygwin Emacs (thanks Ken and Eli!), I can
> report the following when playing a couple of seconds with Dired-jump
> (which I find much slower on Cygwin Emacs than on Windows Emacs).
> 
> --8<---------------cut here---------------start------------->8---
> - ...                                                         6440  59%
>  - find-file                                                  6315  58%
>   - apply                                                     6315  58%
>    - ad-Advice-find-file                                      6315  58%
>     - let                                                     6315  58%
>      - let                                                    6315  58%
>       - setq                                                  6315  58%
>        - with-no-warnings                                     6315  58%
>         - funcall                                             6315  58%
>          - #<compiled 0x4018ad5f>                             6315  58%
>           - find-file-noselect                                6315  58%
>            - run-hook-with-args-until-success                 6315  58%
>             - dired-noselect                                  6315  58%
>              - dired-internal-noselect                        6315  58%
>               - dired-readin                                  6311  58%
>                - dired-readin-insert                          6290  57%
>                 - dired-insert-directory                      6290  57%
>                  - insert-directory                           6289  57%
>                   - apply                                     6289  57%
>                    - ls-lisp--insert-directory                6289  57%
>                     - get-free-disk-space                     6288  57%
>                      - process-file                           6288  57%
>                         apply                                 6288  57%

This seems to point to get-free-disk-space, which on Cygwin invokes
the 'df' program, whereas the native w32 build calls a function to get
the same info.

You also seem to have Helm active, so perhaps these two factors
together make 'df' invocation much slower than the w32 API call.