Python為什麼執行效率低?受哪些因素影響?

老男孩IT教育機構發表於2022-08-10

  與其他程式語言相比,Python具有非常獨特的優勢,語法簡單、通俗易懂、開發效率高、免費開源、簡單易學、可移植、可擴充套件,最厲害的就是它有著廣泛的第三方庫支援,可以更好的提高工作效率。具備多重優勢的同時,Python也具備一定的缺點:執行效率低,那麼導致Python執行效率低的因素是什麼?請看下文。

  1.Python是動態語言

  動態語言是一類在執行時可以改變其結構的語言,如新的函式、物件、程式碼可以被引入,已有的函式可以被刪除或其他結構上的變化等,該類語言更具有活性,但是不可避免的因為執行時的不確定性也影響執行效率。

  2.Python是解釋執行

  相比於C語言編譯性語言編寫的程式,Python是解釋執行語言,其執行過程是Python執行檔案程式時,Python直譯器將原始碼轉換為位元組碼,然後再由Python直譯器來執行這些位元組碼。其每次執行都要進行轉換成位元組碼,然後再由虛擬機器把位元組碼轉換成機器語言,最後才能在硬體上執行,與編譯性語言相比,其過程更復雜,效能肯定會受影響。

  3.Python中一切都是物件

  Python是一門物件導向的程式語言,其設計理念是一切皆是物件,如數字、字串、元組、列表、字典、函式、方法、類、模組等都是物件,包括程式碼,每個物件都需要維護引用計數,因此,增加了額外工作,影響了效能。

  4.Python GIL

  GIL是Python最為詬病的一點,因為GIL,Python中的多執行緒並不能真正的併發,即使在單執行緒,GIL也會帶來很大的效能影響,因為python每執行100個opcode就會嘗試執行緒的切換,因此,影響Python執行效率。

  5.垃圾回收

  Python採用標記和分代的垃圾回收策略,每次垃圾回收的時候都會中斷正在執行的程式,造成所謂的頓卡,影響執行效率。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2909884/,如需轉載,請註明出處,否則將追究法律責任。

相關文章