0

我想知道 python hashlib 库如何处理稀疏文件。如果文件有很多零块,那么它不会在读取零块时浪费 CPU 和内存,而是进行任何优化,例如扫描 inode 块映射并仅读取分配的块来计算散列?

如果它还没有这样做,那么我自己做的最好方法是什么。

PS:不确定在 StackOverflow Meta 中发布这个问题是否合适。

谢谢。

4

1 回答 1

1

hashlib模块甚至不适用于文件。你必须读取数据并将块传递给散列对象,所以我不知道你为什么认为它会处理稀疏文件。

I/O 层对稀疏文件没有做任何特别的事情,但那是操作系统的工作;如果它知道文件是稀疏的,则“读取”操作不需要执行 I/O,它只是用零填充缓冲区而没有 I/O。

于 2016-11-04T20:22:56.083 回答