我以爲我曾經閱讀過SO,如果將常用的代碼放入方法或單獨的文件中,Python將會更快地編譯和運行。將Python代碼放在方法中是否比單獨的文件有優勢?反之亦然?有人可以解釋爲什麼這是?我會假設它與內存分配和垃圾回收有關。如果我將常用代碼放入單獨的方法或文件中,Python會更快嗎?
1
A
回答
4
沒關係。不要圍繞代碼速度構建程序;圍繞編碼器速度進行構造。如果你用Python編寫某些東西,速度太慢,那麼找到cProfile的瓶頸並加快速度。你如何加快速度?你嘗試一下並分析它們。通常,關鍵循環中的函數調用開銷很高。字節編譯你的代碼需要很少的時間,只需要做一次。
1
兩件事情:
代碼在單獨的模塊被編譯成在第一運行時字節碼,並保存爲預編譯.pyc
文件,所以它並沒有被作爲源不是招」在下次運行,只要重新編譯自從那時起被修改了。這可能會導致一個小的性能優勢,但只在程序啓動時。
另外,如果將Python放置在函數內而不是放在文件的頂層,Python會更加高效地存儲變量等。但我不認爲這就是你在這裏提到的,是嗎?
2
不管你把代碼放在哪裏,它都必須被解析一次並在必要時編譯。將代碼放入方法或不同文件之間的區別可能具有微不足道的性能差異,但您不應該擔心。
關於唯一的語言,你現在必須擔心構造「正確」的是Javascript。因爲它必須從網上下載到客戶計算機。這就是爲什麼有這麼多的壓縮器和混淆器。像這樣的東西不是用Python完成的,因爲它不是必需的。
相關問題
- 1. 將代碼放入單獨的文件
- 2. 爲什麼我會在__init__.py文件中放入python代碼
- 3. 如果我將它移動到不同的文件,我的AsyncTask會更快嗎?
- 4. 如果啓用了代碼分割,打包器會更快嗎?
- 5. 應該將異常放入單獨的包中嗎?
- 6. 將Google Analytics(分析)代碼放在單獨的文件中會破壞分析
- 7. Python。如何讓我的代碼更快?
- 8. 如何將單獨的文章放入單獨的div中
- 9. 您可以在單獨的過程中使用代碼或方法嗎?
- 10. 我可以將webpack源地圖和源代碼文件放在單獨的文件夾中嗎?
- 11. 將代碼放入Activity或Fragment中以處理方向更改?
- 12. 將我的輸出代碼保存到單獨的文件中?
- 13. 如果我們將「Where」放入Join Table或將其放在最後,哪個Query會更快?
- 14. 將原始數據寫入驅動器或寫入文件會更快嗎?
- 15. 我應該將XML Blob放入單獨的表中嗎?
- 16. 我應該將我的代碼放在Activity或View中嗎?
- 17. 純Python比Numpy更快嗎?我可以使這個numpy代碼更快嗎?
- 18. 在Visual Studio 2008中將代碼放置在單獨的文件中使用ASP.NET
- 19. 果園模塊可以放在單獨的文件夾中嗎?
- 20. 如何將角碼放在單獨的文件中
- 21. 代碼點火器:放入單獨的控制器或一個?
- 22. 自動將所有類放入單獨文件的方式
- 23. 將相關模型的方法放入jqgrid的單獨列中
- 24. 查看代碼更改結果的方法更快
- 25. 如何阻止人們將代碼放入我的表單中?
- 26. 如何將HTML代碼放入jQuery或JavaScript的附件中?
- 27. 將Python源代碼拆分成單獨的目錄嗎?
- 28. 更快取代部分XML文件的方法:XMLDocument或TextStream?
- 29. 在文件夾中的多個文件上運行python代碼並將它們寫入單獨的文件
- 30. 使用python加入單獨的文件
「不要圍繞代碼速度構建程序;圍繞代碼速度進行構建」。 +1。畢竟,這是爲什麼我們使用Python。 – 2010-11-04 23:31:17