我正在使用timeit进行测试,但不了解发生了什么。我一直在评估2升为幂,但是每次它说需要0.02±0.01秒。我究竟做错了什么?

例:

这需要2.5分钟才能执行:

2**10000000


这将立即返回,类似于0.01637562597170472:

timeit.Timer(stmt="2**10000000").timeit()

最佳答案

2**10000000


无需花费2.5分钟即可执行。转换为十进制字符串需要2.5分钟,这是默认情况下如何打印整数的方式。尝试(2**10000000) % 10000000len(hex(2**10000000))

关于python - timeit比它应该的快,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47934340/

10-10 14:05