我正在用python寫一個小玩具模擬器。當然,這種模擬很慢。據我瞭解,python代碼很慢的主要原因是python是在解釋性語言中。我不想放棄python,因爲清晰的語法和可用的庫顯着縮短了寫入時間。那麼是否有一種簡單的方法可以「編譯」我的Python代碼?我可以通過編譯來改進python運行時嗎?
編輯
我回答一些問題: 是的,我使用numpy的。它大大簡化了代碼,我不認爲我可以提高自己編寫函數的性能。我爲所有列表使用numpy,並將所有的珠子加在一起。即。我祈求
pos += V*dt + forces*0.5*dt**2
其中 '' 正 '', 'V' 和 '力量' 是(2000,3)
的所有np.array
尺寸。 我很確定力量計算中的緩慢部分。這是合乎邏輯的,因爲我必須遍歷所有的粒子並檢查它們的位置。對於我的真實項目(博士學位),我的代碼大致具有相同的複雜程度,而且我知道這是很昂貴的東西。
是它可以編譯,http://docs.python.org/2/library/py_compile.html。 – Gjordis
你在計算中使用'numpy'嗎?你也可以嘗試[PyPy](http://pypy.org/),這是一個比用C寫的「默認」更快的python解釋器。 –
也取決於模擬,它可能適合使用numpy。 – U2EF1