我在同一臺機器上運行的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