PATHはシステムコールであるべきだ
2025-04-25
Emacsとbashは起動時に、PATH環境変数内の各ディレクトリを順番に走査し、目的のファイルが存在するかを一つずつ確認することで、非効率的に設定ファイルを探しています。この記事では、この非効率的な検索メカニズムを調べ、straceツールを使ってEmacsとbashのシステムコールをトレースし、多数のfstatatコールを示しています。著者は、この検索は、反復的な試行ではなく、データベースクエリのような方法で一致するファイルを直接返すように、オペレーティングシステムまたはファイルシステムによって最適化されるべきだと主張しています。Pythonの実装は比較的効率的ですが、欠点もあります。著者は、システムコールとネットワークの往復回数を減らすために、すべての可能なファイル名とディレクトリのリストをオペレーティングシステムに提供するという改善策を提案しています。
開発