1

70〜700GBの範囲の大きなファイルを書いています。メモリマップトファイルが通常のチャンク書き込みよりも効率的である場合、誰かが経験を持っていますか?コードはC++で実行され、Linux2.6で実行されます。

4

2 に答える 2

2

民生用ドライブの一般的な持続的なハードドライブの転送速度は、毎秒約60メガバイトで、太陽が輝いて、後ろがそよ風に吹かれ、ファイルシステムが断片化されすぎないため、ディスクドライブヘッドを頻繁に探す必要がありません。

したがって、700ギガバイトの書き込みにかかる時間の厳密な下限は700 * 1024/60=11947秒または3時間20分です。バッファリングの量はそれを修正するつもりはありません、それはディスク書き込み速度と消防ホースを満たすプロセッサの能力の間の劇的なミスマッチによってすぐに圧倒されます。それよりも数倍長い時間がかかる場合にのみ、コードまたはディスクドライブの状態の問題を探し始めます。

于 2012-05-07T21:24:59.940 に答える
2

ファイルを最初から書き込んでいる場合、ファイルのメモリ マッピングから得られるものは何もありません。

他のパターンでファイルを書いている場合は、質問を更新してください:)

于 2012-05-07T21:02:26.257 に答える