PATHはシステムコールであるべきだ

2025-04-25

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

続きを読む
開発

カンマの謎:JSONの構文を見直すべき理由

2025-04-06

この記事では、JSONにおけるカンマの必要性を疑問視しています。著者は、JSONにおけるカンマは賢い設計の選択ではなく、構文エラーの可能性を高め、可読性を低下させると主張しています。著者は、カンマを削除し、スペースとコロンを使用してキーと値のペアを区別することを提案しており、JSON5を改善例として挙げていますが、JSON5は問題を部分的にしか解決していません。この記事は、AIシステムを使ったテキスト生成における奇妙な副作用についても触れています。

続きを読む
開発 構文