Ben hiçbir şey yapmadan, aynı makinede python 2.7 ve matlab R2010a çalıştırmak daha 10x daha yavaş olduğunu ve çevrimiçi baktımmatlab
hız beni 10x farklı sağlar ve aynı olmalıdır duydu sipariş. Python, ifade için
olarak sanki daha yavaşlayacaktır. Sorum şu: Bu gerçek mi? Ya da aynı hız düzeninde başka bir yol var mı? İşte
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
İşte
Output: time cost = 0.0377440452576
olan piton kodu matlab kodu
tic
for i = 1:1000
for j = 1:1000
end
end
toc
Output: Escaped time is 0.004200 seconds
Ben de yokum derleyici en iyileştiricisi için herhangi bir fark, ancak devam etmek yerine geçmek deneyin mi? Belki çok basit bir hesaplama eklerseniz, 't = t + 1' o zaman değişecektir. – slbass
Döngüyü "python -m timeit" ile test etmek, 'pass'ı kullanarak' devam et 'seçeneğinin biraz daha yavaş olduğunu, ancak önemli bir şekilde olmadığını gösterir. Makinemde, döngüler, OP'nin iddia ettiği şeylerin yarısından daha az olan 16 msn alır. Ayrıca MATLAB'ın bir [JIT] (http://www.matlabtips.com/matlab-is-no-longer-slow-at-for-loops/) olduğunu unutmayın, dolayısıyla bu gibi farklılıklar beklenir * özellikle * ile basit döngüler. – Bakuriu
Matlab'ın, döngülerin aslında hiçbir şey yapmadığını ve bunları en iyi duruma getirdiğini fark edebilecek kadar akıllı olduğu durumlarda, döngü içinde bir şey koymaya değer olabilir. – Aya