2016-11-04 3 views
0

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

もしそれがすでに行われていないのであれば、自分でそれを行うにはどうすればよいでしょうか。

PS:この質問をStackOverflow Metaに投稿することは適切ではないでしょうか。

ありがとうございました。

+1

スパースファイルをサポートしていない(またはブロックサイズが異なるために別のブロックセットが省略された)別のファイルシステムにスペアファイルをコピーした場合は、別のハッシュ? – jasonharper

答えて

1

hashlibモジュールはファイルでも機能しません。データを読み込んでブロックをハッシングオブジェクトに渡す必要があるので、なぜそれがまったくまばらなファイルを処理するのか分かりません。

I/Oレイヤーはスパースファイルでは特別な処理を行いませんが、これはOSの仕事です。ファイルがまばらであることが分かっている場合、 "読み取り"操作はI/Oを行う必要はなく、I/Oなしのゼロでバッファを埋めるだけです。

+0

説明をありがとう.. – CodeWithPride

関連する問題