bbatsov / projectile

Project Interaction Library for Emacs
https://docs.projectile.mx
GNU General Public License v3.0
4k stars 583 forks source link

question: howto avoid slow nfs mount acceses #1885

Open soundart opened 8 months ago

soundart commented 8 months ago

Hi,

I am using doom emacs and projectile is a deeply integrated part. Currently I have some very large and very slow filesystems mounted to /project over nfs.

I have a cmake based project which symlinks directories into subtrees of the slow filesystems.

When I try to open a small c++ header file on my laptops ssd emacs spawns a subprocess.

fdfind . -0 -H --color=never --type file --type symlink --follow --exclude .git --strip-cwd-prefix

and this runs for a very long time >20min (then I killed it) and walks over subtrees of the symlinked directories (checked via strace -f -p pid).

Projectile seems to initialize its cache.

The problematic item seems to be ---follow. I added "/project" to projectile-globally-ignored-directories but this did not help.

Is there a way to force the projectile cache to stay on the same file system?

Expected behavior

Allow me to open a file in a few seconds.

Actual behavior

takes too long.

Steps to reproduce the problem

mount something large and slow to /project. Hace a projectile project on a fast SSD (/home/me/work) and symlink to a directory inside the slow mount.

''' cd /home/me/work ln -s /project/big big touch .projectile touch hi.h emacs hi.h """

projectile needs to be active as in doom emacs. I do not know how that is done excatly.

Environment & Version information

Projectile version information

~/.emacs.d/.local/straight/repos/projectile$ git log commit e45f0b0cc43fdc066e7971ff3ed3bf4c78015ed0 (HEAD -> master, replaced) Author: Bozhidar Batsov bozhidar@batsov.dev Date: Mon Feb 5 12:21:51 2024 +0200

Add support for Eask projects

Eask is a drop-in alternative of Cask.
Projectile 2.8.0

Emacs version

GNU Emacs 29.2

Operating system

$ cat /etc/debian_version 12.5