日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python3性能还低吗_Python3 vs. Python2 大作战,谁将是性能之王?

發(fā)布時間:2023/12/9 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3性能还低吗_Python3 vs. Python2 大作战,谁将是性能之王? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

渲染 HTML 模板

django_html 測試將使用 Django 模板渲染引擎來構(gòu)建一個 150x150 的 HTML 表格。 它利用了 Django 引擎的 Content 和 Template 類。

如圖所示,Python 3.7 比 Python 2.7 快 1.19 倍,但除此之外,其他 Python 3 版本都沒有 Python 2.7 快。該結(jié)果與 speed.python.org 網(wǎng)站的測試結(jié)果一致。

PyPy 的測試結(jié)果顯示,PyPy 比 CPython 的任何 Python 版本都快,PyPy 3 比 PyPy 慢兩倍。Django 2.0 及更高版本已決定放棄對 Python 2 的支持,因此 PyPy 將不再與 Django 2 兼容。

啟動時間測試

該部分測試解釋器的啟動時間

如圖所示,Python 2.7 是所有測試版本中啟動速度最快的。

注:此處暫不討論 PyPy 的測試結(jié)果,文末再談。

加密測試(Crypto):crypto_paes

在這個測試中,Python 2 的速度明顯快于 Python 3,因?yàn)?Crypto 要求大量數(shù)字運(yùn)算,而 Python 3 沒有 32 位整數(shù)類型,只有一個長整型(long integer)。

同樣差距比較明顯的是,PyPy 3 比 PyPy 慢 5 倍。

算法測試:n-queens

結(jié)果顯示,在 CPython 系列中,Python 3.7 性能最佳。此外,PyPy 3 和 PyPy 測試結(jié)果比較接近,PyPy 小勝。

浮點(diǎn)運(yùn)算測試

“浮點(diǎn)”基準(zhǔn)測試需要人工創(chuàng)建繁重的浮點(diǎn)運(yùn)算應(yīng)用程序,在這里我們通過 math.cos(),math.sin() 和 math.sqrt() 函數(shù)創(chuàng)建,總共創(chuàng)建 10 萬個浮點(diǎn)對象。

PyPy 非常適合浮點(diǎn)運(yùn)算,在大量的數(shù)字運(yùn)算、可預(yù)測的類型和方法以及循環(huán)上展現(xiàn)了非常優(yōu)秀的性能。Python 3.7 具有新的方法能快速調(diào)用操作碼,該操作碼正在此測試中剛好用上,表現(xiàn)佳。

正則表達(dá)式測試

在這項(xiàng)測試中,我選用了 50 個最受歡迎的網(wǎng)頁,并記錄了所有正則表達(dá)式的操作。 每個操作都被賦予權(quán)重,該權(quán)重是根據(jù)頁面流行度的估計(jì)以及在加載每個頁面時執(zhí)行的次數(shù)來計(jì)算的。 最后,數(shù)據(jù)中的字母使用 ROT13 進(jìn)行編碼,其方式不會影響正則表達(dá)式與輸入的匹配程度。

PyPy 的測試結(jié)果讓人大跌眼鏡,不知道它都經(jīng)歷了些什么......

補(bǔ)充:后來發(fā)現(xiàn)是 PyPy 性能出了問題,PyPy 開發(fā)團(tuán)隊(duì)后來看到了這項(xiàng)測試結(jié)果,花了幾個小時把性能問題修復(fù)了

Python 3 比 Python 2 快嗎?

綜上測試所述,答案是 Yes!雖然也有幾項(xiàng)測試結(jié)果顯示 Python 3 比 Python 2 慢:

加密測試:Python 3 的比 Python2 慢 1.35 倍(原因在上文已做解釋)

啟動時間測試:Python 3 比 Python 2 慢 1.39 倍

但從整體結(jié)果來看,Python 3 更快。CPython 核心開發(fā)團(tuán)隊(duì)曾表示,啟動速度問題是他們在 3.8 和 3.9 版本中著重要解決的問題。

PyPy 很快,我要使用它嗎?

PyPy 有 JIT 及時編譯器,在執(zhí)行可預(yù)測的重復(fù)性任務(wù)時非常高效,而 Python 性能測試需要多次運(yùn)行同一段代碼來保證準(zhǔn)確性,因此,PyPy 面對這樣測試性能,表現(xiàn)比 CPython 更佳。

但是,PyPy 的 JIT 編譯器的顯著缺點(diǎn)就是啟動成本高,并且,許多 C 語言擴(kuò)展程序缺乏兼容性。另外,由于 PyPy 是用 Python 編寫的,許多模板在 PyPy 中無法工作,使用者需要時常進(jìn)行檢查。

PyPy 也同樣需要面對從 Python2 向 Python3 轉(zhuǎn)變的問題。PyPy3 還不太穩(wěn)定,PyTest 就已經(jīng)放棄了對 PyPy3 的支持。

結(jié)論

Python 在所有官方版本測試中表現(xiàn)最佳,PyPy 在解釋器測試的表現(xiàn)最佳。Python 2 以后會用得越來越少,直到廢棄。如果 PyPy 3 的速度始終不能比 PyPy 快,能有所提升也是好的。返回搜狐,查看更多

總結(jié)

以上是生活随笔為你收集整理的python3性能还低吗_Python3 vs. Python2 大作战,谁将是性能之王?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。