I made a manual fast profiling and I see that most of the time in
project-buffers actually goes to tramp-sh-file-name-handler.
�������� 207� 42%�������� - project-buffers
�������� 207� 42%��������� - apply
�������� 207� 42%���������� - #<compiled
-0x1f5d919efefc0a09>
�������� 200� 40%����������� -
file-in-directory-p
�������� 200� 40%������������ -
tramp-file-name-handler
�������� 197� 40%������������� -
apply
�������� 197� 40%�������������� -
tramp-sh-file-name-handler
�������� 197�
40%��������������� -
tramp-handle-file-in-directory-p
�������� 183�
37%���������������� - tramp-run-real-handler
�������� 183�
37%����������������� - file-in-directory-p
�������� 124�
25%������������������ - file-equal-p
�������� 124�
25%������������������� -
tramp-file-name-handler
�������� 121�
24%�������������������� - apply
�������� 121�
24%��������������������� -
tramp-sh-file-name-handler
�������� 121�
24%���������������������� -
tramp-handle-file-equal-p
��������� 85�
17%����������������������� -
tramp-run-real-handler
��������� 85�
17%������������������������ -
file-equal-p
��������� 52�
10%�������������������������
- file-truename
��������� 52�
10%��������������������������
- tramp-file-name-handler
��������� 41��
8%���������������������������
- apply
��������� 41��
8%����������������������������
- tramp-sh-file-name-handler
��������� 41�� 8%����������������������������� -
tramp-sh-handle-file-truename
��������� 28��
5%������������������������������
+ file-remote-p
��������� 10��
2%������������������������������
+ file-local-name
���������� 3��
0%������������������������������
+ file-name-as-directory
It goes specifically to file-in-directory-p as you said. So maybe the
improvement there may be also desirable if the difference after the
optimization can reduce the time for file-in-directory-p (or the caller)
at least to the half.