我是初學者,無法在谷歌上找到這個問題的答案。
基于這樣的執行緒是什么讓 C 比 Python 更快?我了解到動態/靜態型別并不是 C 比 Python 更快的主要原因。這似乎主要是因為 python 程式是解釋的,而 c 程式是編譯的。
我想知道嚴格型別是否會縮小解釋語言與編譯語言的性能差距,以至于嚴格型別將成為事后提高 Python 性能的可行策略?
如果答案是肯定的,這是在支持開發的環境中完成的嗎?
uj5u.com熱心網友回復:
在當前版本的 Python 中,型別注釋主要是給程式員的提示,可能還有一些驗證工具,但會被編譯器忽略并且在運行時不存在,這類似于 Typescript 的行為。
有可能改變 Python 的語意,在某些情況下利用靜態型別來生成更高效的位元組碼,并可能執行即時可執行代碼生成 (JIT)。高級 Javascript 引擎使用復雜的啟發式方法在沒有型別注釋的情況下實作這一點。這兩種方法都有助于使 Python 程式更快,并且在某些情況下比同等的 C 代碼執行得更好。
另請注意,許多高級 Python 包使用本機代碼,用 C 和其他語言撰寫,利用優化編譯器、SIMD 指令甚至多執行緒……使用這些庫的程式中的 Python 代碼不是花費時間的地方,性能可與編譯語言相媲美,同時為程式員提供更簡單的語言來表達他們的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/536605.html
