Python解释器工作原理与jit技术
Python是一門解釋語言,Python為我們提供了基于硬件和操作系統的一個虛擬機,并使用解釋器將源代碼轉化為虛擬機可執行的字節碼。字節碼在虛擬機上執行,得到結果。?
????????????????? ??
Python解釋器工作原理
我們使用python example.py來執行一份源代碼時,Python解釋器會在后臺啟動一個字節碼編譯器(Bytecode Compiler),將源代碼轉換為字節碼。字節碼是一種只能運行在虛擬機上的文件,Python的字節碼默認后綴為.pyc,Python生成.pyc后一般放在內存中繼續使用,并不是每次都將.pyc文件保存到磁盤上。有時候我們會看到自己Python代碼文件夾里有很多.pyc文件與.py文件同名,但也有很多時候看不到.pyc文件。pyc字節碼通過Python虛擬機與硬件交互。虛擬機的出現導致程序和硬件之間增加了中間層,運行效率大打折扣。相信使用過虛擬機軟件的朋友深有體會,在原生的系統上安裝一個虛擬機軟件,在虛擬機上再運行一個其他系統,經常感覺速度下降,體驗變差,這與Python虛擬機導致程序運行慢是一個原理。
Just-In-Time(JIT)技術為解釋語言提供了一種優化,它能克服上述效率問題,極大提升代碼執行速度,同時保留Python語言的易用性。使用JIT技術時,JIT編譯器將Python源代碼編譯成機器直接可以執行的機器語言,并可以直接在CPU等硬件上運行。這樣就跳過了原來的虛擬機,執行速度幾乎與用C語言編程速度并無二致。
總結
以上是生活随笔為你收集整理的Python解释器工作原理与jit技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git reset git stash
- 下一篇: anaconda mac安装