Python 在使用读取文件时减少CPU使用
这就是我的想法,在我的项目背后,玩弄hashlib模块,当用户输入一个散列时,所有的大小写组合都会尝试寻找是否匹配,一切都很好,效果很好,唯一的问题是CPU使用率,高达50%-60%。。无论如何,有没有办法减少cpu的使用 操作系统:Windows 守则的一部分:Python 在使用读取文件时减少CPU使用,python,Python,这就是我的想法,在我的项目背后,玩弄hashlib模块,当用户输入一个散列时,所有的大小写组合都会尝试寻找是否匹配,一切都很好,效果很好,唯一的问题是CPU使用率,高达50%-60%。。无论如何,有没有办法减少cpu的使用 操作系统:Windows 守则的一部分: def md5(file, torev): with open(file) as f: for i in f: i = i.replace("\n", "") s
def md5(file, torev):
with open(file) as f:
for i in f:
i = i.replace("\n", "")
s = map(''.join, itertools.product(*zip(i.upper(), i.lower())))
for k in s:
rev = hashlib.md5(k).hexdigest()
if rev == torev:
print "[+] Hash Value Found"
print "[+] Value: "+k
break
谢谢在这种情况下,减少CPU使用量的唯一方法是将哈希计算从CPU上移开,也许可以移到带有OpenCV/OpenCL的GPU上。我建议使用
imap
和izip
那么有什么意义呢?哈希计算显然受到CPU的限制。你的观点是?@jamylak:但这些实际上不会显著降低CPU使用率,只会降低内存使用率。imap、izip在这里做了什么?@IgnacioVazquez Abrams刚刚发表评论,因为这不是答案。它们的内存效率更高,因为map
和zip
返回列表
,而izip
和imap
是生成器,您将只运行一次组合,而不是两次组合