我想知道python hashlib库是如何处理稀疏文件的。如果文件有很多零块,那么它是否会进行任何优化,比如扫描inode块映射,只读取分配的块来计算散列,而不是浪费CPU和内存来读取零块?
如果它还没有这样做,那么我自己做的最好的方法是什么?
PS:不确定是否适合在StackOverflow Meta中发布此问题。
谢谢。
发布于 2016-11-05 04:22:56
hashlib模块甚至不能处理文件。您必须读取数据并将块传递给散列对象,所以我不知道为什么您认为它会处理稀疏文件。
I/O层不会为稀疏文件做任何特殊的事情,但这是操作系统的工作;如果它知道文件是稀疏的,那么“读”操作就不需要执行I/O,它只是用零填充缓冲区,而不是I/O。
https://stackoverflow.com/questions/40431073
复制相似问题