我在同一台机器上运行的Python 2.7和MATLAB R2010a版本,什么都不做要慢10倍,它给我的速度在蟒蛇环比MATLAB
我在网上看了10倍不同,听到它应该是相同的订购。 Python会进一步下降放缓,if语句和数学运算符在for循环
我的问题:这是现实?或者有其他方式让他们在相同的速度顺序?
这里是Python代码
import time
start_time = time.time()
for r in xrange(1000):
for c in xrange(1000):
continue
elapsed_time = time.time() - start_time
print 'time cost = ',elapsed_time
Output: time cost = 0.0377440452576
这里是MATLAB代码
tic
for i = 1:1000
for j = 1:1000
end
end
toc
Output: Escaped time is 0.004200 seconds
如果存在与编译器优化器有什么不同,但是您是否尝试通过而不是继续?也许如果你添加一个非常基本的计算,'t = t + 1',那么它会改变。 – slbass
使用'python -m timeit'测试循环显示使用'pass'比'continue'慢一点,但不是很重要。在我的机器上,环路需要16毫秒,这比OP声称的要少一半。还要注意,MATLAB有一个[JIT],因此这种差异是可以预期的*尤其是*简单循环。 – Bakuriu
可能值得在循环内部放置一些东西,以防万一Matlab能够足够聪明地认识到循环实际上没有做任何事情,并且优化了它们。 – Aya