首頁 >後端開發 >Python教學 >python 為什麼效率低

python 為什麼效率低

(*-*)浩
(*-*)浩原創
2019-05-30 13:05:584255瀏覽

Python是一款優雅的程式語言,在人工智慧、雲端運算、大數據快速發展的今天,Python受到了社會各界的關注,從國內的阿里、搜狐、知乎、騰訊、網易、馬鈴薯、新浪到國外的Google、Dropbox、Facebook、Redhat、Uber等都在大規模的使用Python完成各種任務!

python 為什麼效率低

Python的用途越來越廣泛,很受歡迎,必然因為其有很多優點,但是Python也擁有一大缺點,相比於C語言,

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採用標記和分代的垃圾回收策略,每次垃圾回收的時候都會中斷正在執行的程序,造成所謂的頓卡,影響運作效率。

以上是python 為什麼效率低的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn