a.dat
1GBのファイルがあり、ディスク上にあります。パフォーマンス上の理由から、新しいファイルを作成してファイルを拡張するのではなく、このファイルを再利用して必要に応じてその内容を上書きするだけです (拡張操作ごとに inode のサイズを更新する必要があります)。
私はさらにパフォーマンスを絞り込もうとしており、man ページでopenとmountを検索して、ファイルの mtime と ctime がいつ更新されるかを調べました。私の理解では、ファイルの内容を変更するたびに、mtime や ctime が更新されます。これが xfs の仕組みですか?
もしそうなら、Linuxでこれを無効にする方法はありますか? 私は mtime と ctime を気にせず、書き込み操作ごとにそれらを更新するコストを負担したくありません。
最終的には、ファイルシステムを完全に取り除き、デバイスに直接書き込みますが、当面はファイルシステムでこれを行う方法があることを願っています。
回答に応じて編集
明確にするために、私はSSDに書き込んでおり、SSDから可能なすべての操作を絞り出すことが非常に重要です。SSD は理論的には 1 秒あたり 25,000 の操作を処理できますが、これらのそれぞれが私にとって重要です。ファイルへの書き込み以外にそれらを無駄にしたくありません。その点で、実際には、書き込み先のディスクに 1GB のファイルが 200 個あります。上記の質問で問題を単純化しようとしていました。
さらに、各書き込みは同期する必要があり、ビットがディスク上にあることを確認するまでプログラムは続行されません (これは可能です)。しかし、このメモは質問に接していると思います。