PATH devrait être un appel système
Emacs et bash, lors de leur démarrage, recherchent les fichiers de configuration de manière inefficace en itérant sur chaque répertoire de la variable d'environnement PATH, vérifiant l'existence du fichier cible un par un. Cet article explore ce mécanisme de recherche inefficace, en utilisant l'outil strace pour tracer les appels système d'Emacs et de bash, démontrant de nombreux appels fstatat. L'auteur soutient que cette recherche devrait être optimisée par le système d'exploitation ou le système de fichiers, en utilisant une requête similaire à une base de données pour retourner directement les fichiers correspondants au lieu de tentatives itératives. L'implémentation de Python, bien que relativement plus efficace, présente également des lacunes. L'auteur propose une solution améliorée : fournir au système d'exploitation une liste de tous les noms de fichiers et répertoires possibles, réduisant ainsi le nombre d'appels système et les allers-retours réseau.
Lire plus