我正在计算一些非常大的除法问题的答案,想知道为什么b = a / c(其中a和c都为正整数)必须比键入问题并要求答案为打印:b = a / c比b = a / c紧随其后是打印b。
非常慢:
from datetime import datetime - startTime = datetime.now()
a=2**1000000-3
b=a/13
print b
print(datetime.now()-startTime)
但是没有print b
它,速度非常快。后来我输入c=a%13
以查看是否确实发生了任何事情(我对编程还是很陌生的),并且键入时print c
(没有print b
代码)它的速度非常快。
据我了解,IO操作速度很慢,并且在屏幕上打印就像写入文件一样,它将阻塞线程一段时间。
正如有人指出的那样,从数字到字符串的转换也可能需要花费时间。每当我必须测量某物的时间时。我测量计算时间,并在测量时间后打印任何结果。
为了使程序更快,但占用内存,可以将每个结果保存在列表中,然后编译一个大字符串,仅打印一次。
重复打印要求比一次大打印要求花费更多时间。
from datetime import datetime
startTime = datetime.now()
a=2**1000000-3
b=a/13
elapsedTime = datetime.now() - startTime
print "Elapsed time %s\n Number: %s" % (elapsedTime, b)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句