检查大量文件中是否有零块的最快方法是什么。块应大于32000字节的零。 以下代码将减慢速度:
empty_blocks = []
min_length = 32000
block = False
begin = -1
data = open(file_name,'rb').read()
for i,byte in enumerate(data):
byte = ord(byte)
if byte == 0x00 and block == False:
block = True
begin = i
elif byte != 0x00 and block == True:
block = False
if length >= min_length:
empty_blocks.append((begin, i - begin))
begin = -1
因此,假设块大小为32768字节,我得出如下结论:
sum()
是确定序列中每个字节是否都有零值的最快方法。我认为它不可能比O(n)
更快。VPfB建议使用
any()
,这非常快,因为它终止于第一个非零元素,而不是遍历整个序列。你知道吗输出示例:
我希望在我的机器上处理速度足够快。你知道吗
从映射文件开始:
使用正则表达式很方便:
但弦的速度更快:
仅32k对齐块:
相关问题 更多 >
编程相关推荐