上一節(jié)我們簡單了解了python程序運(yùn)行的過程找岖,并且大家也都了解到開發(fā)環(huán)境中有一個(gè)python解釋器(PVM)的存在陨倡,那在python中,這樣的解釋器主要都有哪些许布,那些又是比較好用的呢兴革?
常見的python解釋器
- 官方網(wǎng)站提供的解釋器CPython
從官方安裝好的python,默認(rèn)自帶了解釋器蜜唾,CPython就是官方版本的解釋器杂曲,這個(gè)解釋器是使用C語言編寫的,這個(gè)解釋器也是使用最為廣泛的解釋器袁余,可以方便的和C/C++的類庫進(jìn)行交互
- 基于Java語言的python解釋器Jython
一種由java語言編寫的python解釋器解阅,是將python編譯成java字節(jié)碼然后執(zhí)行的一種解釋器;可以方便的和Java的類庫進(jìn)行交互
- 基于Net平臺的python解釋器IronPython
將Python代碼解釋為net平臺上運(yùn)行的字節(jié)碼進(jìn)行執(zhí)行泌霍,類似Jython解釋器,可以方便的和Net平臺上的類庫進(jìn)行交互
- 一種增強(qiáng)了交互效果的解釋器IPython
在交互效果上有所增強(qiáng)述召,但是執(zhí)行過程和功能方面和CPython是一樣的朱转。
- 專注于執(zhí)行速度的PyPy
一種使用JIT(just-in-time)技術(shù)的編譯器,專注于執(zhí)行速度积暖,對Python代碼進(jìn)行動態(tài)編譯藤为,從而提高Python的執(zhí)行速度。
但是夺刑,PyPy在處理python代碼的過程中缅疟,一小部分功能的處理和官方的CPython的執(zhí)行結(jié)果是有差異的分别,如果項(xiàng)目中要使用PyPy來進(jìn)行執(zhí)行效率的提升的話,一定要事先了解下PyPy和CPython的區(qū)別存淫。
性能優(yōu)化
1.Psyco:python語言的一個(gè)擴(kuò)展模塊耘斩,可以即時(shí)的對程序的代碼進(jìn)行專業(yè)的算法來進(jìn)行優(yōu)化,在一定程度上提高程序的執(zhí)行速度桅咆,這個(gè)擴(kuò)展模塊目前已經(jīng)停止維護(hù)括授,由PyPy替代,可以更好的對源代碼進(jìn)行優(yōu)化處理
2.PyPy:是python實(shí)現(xiàn)的解釋器岩饼,執(zhí)行動態(tài)的編譯{不是解釋}荚虚,可以在不同的操作系統(tǒng)平臺上使用
3.Shed Skin:Python的編譯器,可以將python代碼轉(zhuǎn)換成優(yōu)化的C++代碼執(zhí)行