我想了解如何使用一些众所周知的启发式方法有效地估计某些复杂算法的硬件要求 IE浏览器。我想快速估计在某个合理的时间或其他方面破解我的TEA O(2 ^ 32)或XTEA O(2 ^ 115.15)需要多少计算机能力:
具有1000 x 4GHz四核CPU的设备功率,执行给定算法需要多长时间?
我也对O(log N)等算法的其他算法复杂度估计感兴趣。
问候 BUA
答案 0 :(得分:2)
有说明书的数量。 2 ^ 115和处理器与ex。 1GHz时钟
这是:
i = 2 ^ 115.15 时钟= 1GHz ipersec = 1 / 10E + 9
秒= i * ipersec
在python中:
def sec(N,cpuSpeedHz):
instructions=math.pow(2, N)
return instructions*(1./cpuSpeedHz)
前
sec(115.15, math.pow(10,9)) / (365*24*60*60)
1.4614952014571389e+18
因此计算它需要1.4 ^ 18年
所以需要1mln 4核1Ghz处理器:
sec(115.15, 1000000*4*math.pow(10,9)) / (365*24*60*60)
365373800364.28467
需要3.6 ^ 11年(~3600 mld年)
简化版:
2 ^ 115.15 = 2 ^ 32 * 2 ^ 83.15 时钟= 2 ^ 32~4Ghz 2 ^ 83.15 =
>>> math.pow(2,83.15)/(365*24*60*60)
3.4028086845230746e+17
检查:
2^32 = 10 ^ 9.63295986
>>> sec(115.15, math.pow(2,32))/(365*24*60*60)
3.4028086845230746e+17
答案 1 :(得分:0)
选择你喜欢的答案:
如果有人真的想要你的pr0n系列,那么打破钥匙扣要比钥匙更容易。