Linuxパイプの限界に挑戦:3.5GiB/sから62.5GiB/sへの最適化
2025-06-22

この記事では、パイプを通してデータの読み書きを行うテストプログラムを繰り返し最適化することで、LinuxにおけるUnixパイプの実装方法を探ります。スループットが約3.5GiB/sの単純なプログラムから始め、最適化の段階を経て、パフォーマンスを20倍以上に向上させます。主な改善点は、`vmsplice`と`splice`システムコールを使用してデータのコピーを排除すること、巨大ページを活用してページングのオーバーヘッドを削減すること、ビジーウェイトループを使用して同期コストを最小限にすることです。Linuxの`perf`ツールを使用したコード例とパフォーマンス分析によって、その過程を詳細に説明します。
(mazzo.li)
開発
パイプ