0

python hashlib ライブラリがスパース ファイルをどのように扱うのか知りたかったのです。ファイルに多数のゼロ ブロックがある場合、ゼロ ブロックの読み取りで CPU とメモリを浪費する代わりに、inode ブロック マップをスキャンし、割り当てられたブロックのみを読み取ってハッシュを計算するなどの最適化を行いますか?

まだ行っていない場合、自分で行う最善の方法は何でしょうか。

PS: この質問を StackOverflow Meta に投稿するのが適切かどうかはわかりません。

ありがとう。

4

1 に答える 1

1

モジュールはhashlibファイルでも機能しません。データを読み込んでハッシュオブジェクトにブロックを渡す必要があるため、スパースファイルを処理すると考える理由がまったくわかりません。

I/O レイヤーはスパース ファイルに対して特別なことは何もしませんが、それは OS の仕事です。ファイルがスパースであることがわかっている場合、「読み取り」操作で I/O を実行する必要はありません。I/O なしでバッファをゼロで埋めるだけです。

于 2016-11-04T20:22:56.083 に答える