cat ユーティリティの効率を向上させるための実験

Audacious 音楽プレーヤーの作成者、IRCv3 プロトコルの開始者、Alpine Linux セキュリティ チームのリーダーである Ariadne Conill は、XNUMX つ以上のファイルを標準出力ストリームに出力する cat ユーティリティを最適化する方法について研究を行いました。 Linux 上の cat のパフォーマンスを向上させるために、sendfile および splice システム コールの使用に基づいて、コンテキストをユーザー空間に切り替えることなく、カーネル レベルでファイル記述子間でデータを直接コピーする XNUMX つの最適化が提案されています。

コンテキストの切り替えにつながる従来の読み取りおよび書き込み呼び出しを使用する基本実装では、tmpfs から 4GB ファイルをコピーするときに 3.6 GB/秒のパフォーマンスが示されました。 sendfile ベースのオプションではパフォーマンスが 6.4 GB/s に向上し、splice ベースのオプションではパフォーマンスが 11.6 GB/s に向上しました。 元のバージョンよりも 3 倍以上高速であることが判明しました。

出所: オープンネット.ru

コメントを追加します