国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

讓Python代碼更快運行的5種方法

2020-02-23 01:37:46
字體:
來源:轉載
供稿:網友

不論什么語言,我們都需要注意性能優化問題,提高執行效率。選擇了腳本語言就要忍受其速度,這句話在某種程度上說明了Python作為腳本語言的不足之處,那就是執行效率和性能不夠亮。盡管Python從未如C和Java一般快速,但是不少Python項目都處于開發語言領先位置。
Python很簡單易用,但大多數人使用Python都知道在處理密集型cpu工作時,它的數量級依然低于C、Java和JavaScript。但不少第三方不愿贅述Python的優點,而是決定自內而外提高其性能。如果你想讓Python在同一硬件上運行得更快,你有兩個基本選擇,而每個都會有一個缺點:
·您可以創建一個默認運行時所使用的替代語言(CPython的實現)——一個主要的任務,但它最終只會是CPython的一個簡易替代者。
·您也可以利用某些速度優化器重寫現有Python代碼,這意味著程序員要花更多精力編寫代碼,但不需要在運行時加以改變。
如何進行Python性能優化,是本文探討的主題。下面是五個方法可以在某些方面提高Python代碼的性能和執行效率。

PyPy

在選擇CPython的簡易替代語言時,PyPy無疑是最佳之選(如Quora就是由它編寫而成)。由于與現有Python代碼保持高度兼容性,PyPy也是默認程序運行時的一個很好選擇。
PyPy使用了Just-in-Time(JIT)即時編譯器,即動態編譯器,與靜態編譯器(如gcc,java等)不同,它是利用程序運行的過程的數據進行優化,擁有同谷歌Chrome V8 JavaScript引擎相同的語言加速技術。本月初,最新版本PyPy 2.5即將發布,此版本會有一系列的性能改進,提供更全面的如NumPy的支持,用于加速Python性能的共享庫。
Python 3.x必須由單獨的PyPy3項目構建而成。不過,對于邊緣語言特性 愛好者來說,盡管預期支持3.3,但實際此版本最多僅支持Python3.2.4及以下版本。
相關鏈接:http://pypy.org/

Pyston

Pyston是一款Dropbox推出的新的基于JIT的Python實現,使用LLVM編譯器實現代碼解析與轉換。與PyPy相比,Pyston仍處于初級階段,目前最新版本為Pyston 0.2版,支持有限子集語言的相關特性。Pyston的主要工作包括支持語言的核心功能及提升關鍵指標性能到一個可接受的水平。不久后,Pyston就可以被認為是遠程生產就緒語言。
相關鏈接:https://github.com/dropbox/pyston

Nuitka

Nuitka 是一個Python的替代品,一些團隊正用它做完全的Python編譯工具,并嘗試將Python代碼轉譯為其它可高速運行的編程語言。Nuitka(nuitka.net)可以將python代碼轉換為C++代碼,然后編譯為可執行文件,并通過直接調用python的api的方式實現從解析語言到編譯語言的轉換,并且在轉換到C++的過程中直接使用python的解釋器,可以保證100%的語法兼容。雖然這限制了它的可移植性,但不可否認這個轉換的速度獲得了肯定。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瓮安县| 鄂托克旗| 临湘市| 湄潭县| 南昌县| 固安县| 日土县| 加查县| 玉溪市| 富平县| 溧阳市| 平南县| 泰来县| 郧西县| 东阳市| 富川| 广饶县| 新安县| 离岛区| 云南省| 来宾市| 务川| 桑植县| 铁力市| 兴文县| 新余市| 丹江口市| 宜君县| 崇左市| 丁青县| 吉林市| 雷州市| 苏尼特右旗| 涡阳县| 朝阳市| 玛多县| 孝义市| 虎林市| 报价| 乌审旗| 余姚市|