国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

PyPy是不是真的比Python快?

開(kāi)發(fā) 后端
眾所周知, Python 編寫(xiě)的程序運(yùn)行不快,這種慢雖無(wú)大礙,但為了獲得更高的性能,我們需要再切換到另一種編程語(yǔ)言嗎?不一定。我們可以放棄python.py的運(yùn)行方式,轉(zhuǎn)而使用 PyPy 即時(shí)編譯器。

[[434458]]

眾所周知, Python 編寫(xiě)的程序運(yùn)行不快,這種慢雖無(wú)大礙,但為了獲得更高的性能,我們需要再切換到另一種編程語(yǔ)言嗎?不一定。我們可以放棄python.py的運(yùn)行方式,轉(zhuǎn)而使用 PyPy 即時(shí)編譯器。

根據(jù)官方網(wǎng)站的說(shuō)法,就連Python 創(chuàng)建者 Guido von Rossum 都建議將 PyPy 用于關(guān)鍵性能的 Python 程序。接下來(lái)我們看看 PyPy 有多快。

基準(zhǔn)測(cè)試的工作原理

為了比較 Python 和 PyPy,我編寫(xiě)了幾個(gè) Python 程序。著名算法、典型用例,甚至是基本的 HTTP 服務(wù)器。然后我用 Python 和 PyPy 執(zhí)行程序——在 macOS 和 Linux 的終端中使用time模塊,可以看到執(zhí)行某事的持續(xù)時(shí)間。使用 time模塊 看起來(lái)像這樣:

  1. time python.py 

執(zhí)行完成后,time模塊會(huì)報(bào)告您花費(fèi)的時(shí)間。

使用的版本:

  1. PyPy:7.3.5,使用 Python 版本 3.7.10 
  2.  
  3. Python:版本 3.9.7 

這兩個(gè)版本都是目前可用的最新版本。程序本身不記錄任何內(nèi)容。我們只關(guān)心進(jìn)行計(jì)算。

這是準(zhǔn)備好的代碼片段。讓我們對(duì)每個(gè)場(chǎng)景進(jìn)行基準(zhǔn)測(cè)試。

1. 斐波那契

以下函數(shù)生成我們傳遞給它的數(shù)字的斐波那契值。

結(jié)果:

Python 平均需要 2337 毫秒的執(zhí)行時(shí)間。

PyPy 平均只需要 301 毫秒。明顯的贏家是 PyPy。

2. web服務(wù)

為了對(duì) PyPy 和 Python 處理 HTTP 請(qǐng)求的性能進(jìn)行基準(zhǔn)測(cè)試,使用 time 命令測(cè)量時(shí)間是行不通的。有效的是“wrk”——一個(gè)基準(zhǔn)測(cè)試工具,在服務(wù)器上觸發(fā)大量 HTTP 請(qǐng)求。

因此,它為我們提供了有關(guān)服務(wù)器平均響應(yīng)速度以及它可以處理多少 HTTP 請(qǐng)求的數(shù)據(jù)。

上面顯示的 Web 服務(wù)器在端口 4000 上為目錄“app”提供服務(wù)。在這個(gè)目錄中,我創(chuàng)建了一個(gè)小的 hello-world HTML 文件。基準(zhǔn)測(cè)試在終端中執(zhí)行:

  1. wrk -t12 -c400 -d10s http://localhost:4000/ 

結(jié)果如下:

Python:Web 服務(wù)器平均每秒可以處理 995 個(gè)請(qǐng)求,平均延遲為 2.03 毫秒。

PyPy:Web 服務(wù)器平均每秒可以處理 1481 個(gè)請(qǐng)求,平均延遲為 1.90 毫秒。如您所見(jiàn),PyPy 要快得多。

3. 快速排序

快速排序可能是最有效的排序算法。這是它在 Python 中的實(shí)現(xiàn):

在 Quicksort 實(shí)現(xiàn)下面,我們生成了 500 個(gè)隨機(jī)數(shù)并將它們存儲(chǔ)在一個(gè)數(shù)組中。這個(gè)數(shù)組是 Quicksort 算法將要排序的。

結(jié)果如下:

Python:平均而言,代碼執(zhí)行時(shí)間為 43 毫秒

PyPy:平均執(zhí)行時(shí)間為 132 毫秒。

是的,Python 在這里更快。 這也可以在內(nèi)部測(cè)量時(shí)間時(shí)確認(rèn),使用 start = time.time() 技巧。

4. 堆棧

棧是一種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。它是一個(gè)數(shù)組的更漂亮的詞,我們?cè)谒厦嫱茤|西并從中彈出它。下面的代碼創(chuàng)建這個(gè)數(shù)組,在堆棧上壓入和彈出 1000 萬(wàn)個(gè)數(shù)字:

讓我們看看兩者的速度有多快。

Python:代碼平均耗時(shí) 2.89 秒

PyPy:平均需要 69 毫秒。是的,我說(shuō)的是毫秒。

在這個(gè)基準(zhǔn)測(cè)試中,PyPy 比普通 Python 快幾個(gè)數(shù)量級(jí)。

5. SQlite3 Database

數(shù)據(jù)庫(kù)是大型項(xiàng)目中常用的東西。我選擇 SQLite 來(lái)做一個(gè)基準(zhǔn)測(cè)試,因?yàn)樗苋菀着c Python 一起使用——不需要通過(guò) pip 安裝任何東西。以下代碼在基于文件的 SQLite 數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新表。

在每次基準(zhǔn)測(cè)試之前,我刪除了數(shù)據(jù)庫(kù)文件并創(chuàng)建了一個(gè)普通的新文件。但是數(shù)據(jù)庫(kù)存儲(chǔ)什么?范圍函數(shù)生成一百萬(wàn)個(gè)數(shù)字,然后將每個(gè)數(shù)字加倍——函數(shù) f(n) = n * 2。數(shù)據(jù)庫(kù)存儲(chǔ)每個(gè)函數(shù)對(duì),例如“2、4”或“18、36”。

結(jié)果:

Python 平均需要 6.7 秒來(lái)執(zhí)行代碼。

PyPy 平均需要 9.4 秒的執(zhí)行時(shí)間。

Python 更快。我還嘗試將其與其他操作結(jié)合使用——比如刪除剛剛創(chuàng)建的條目。它沒(méi)有改變結(jié)果。在 SQlite3 數(shù)據(jù)庫(kù)的情況下, Python 比 PyPy 快。

總的來(lái)說(shuō),這讓我很驚訝。當(dāng) Python 勝過(guò) PyPy 時(shí),并不是關(guān)于數(shù)量級(jí)的。由于我不是 Python 或 PyPy 專(zhuān)家,我不確定為什么 Python 在某些情況下更好。可能是因?yàn)?PyPy 是一個(gè) JIT 編譯器,所以在運(yùn)行它時(shí),它首先編譯代碼。

另一方面,默認(rèn)的 Python 解釋器不會(huì)這樣做。因此,對(duì)于 PyPy 的劣勢(shì),JIT 編譯增加了一些所需的時(shí)間。盡管如此,PyPy 在某些情況下提供了更快的執(zhí)行速度。 如您所見(jiàn),它在 5 種情況下的 3 種情況下提供了更快的執(zhí)行。 

原文:https://louispetrik.medium.com/pypy-vs-python-49153daca65c

 

責(zé)任編輯:武曉燕 來(lái)源: 新鈦云服
相關(guān)推薦

2025-03-18 12:30:00

RubyJava語(yǔ)言

2010-08-18 16:04:24

JavaC

2020-11-09 09:33:37

多線程

2021-09-30 07:26:15

磁盤(pán)IO網(wǎng)絡(luò)

2024-01-16 16:39:33

PythonPyPy

2017-06-28 10:08:03

打印機(jī)票據(jù)學(xué)生

2022-11-02 08:12:47

TurbopackVite

2024-01-09 18:00:22

團(tuán)隊(duì)PyPy遷移開(kāi)源

2016-11-15 09:43:56

大數(shù)據(jù)數(shù)據(jù)工程師

2022-06-08 09:20:58

Python基準(zhǔn)測(cè)試編程語(yǔ)言

2015-06-23 16:14:42

程序員優(yōu)秀程序員

2021-12-22 23:23:20

電池手機(jī)技術(shù)

2021-04-02 11:05:57

Python同步異步

2021-03-11 11:32:40

Python同步異步

2017-11-20 10:21:17

量子點(diǎn)顯示器OLED

2019-05-16 09:23:18

前端Title后端

2021-05-04 22:13:56

PyPyPythonC

2020-09-26 10:43:57

Python語(yǔ)言數(shù)據(jù)分析

2010-03-23 11:17:16

Python 動(dòng)態(tài)編譯

2019-11-18 21:32:39

Docker容器平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩免费高清视频| 欧美一级二级在线观看| 成人在线观看av| 国产成人视屏| 亚洲精品久久久久久久久| 中文字幕第88页| 人人狠狠综合久久亚洲| 91久久国产精品91久久性色| 里番精品3d一二三区| www.日韩免费| 四虎4545www精品视频| 日韩精品中文字幕在线不卡尤物 | 亚洲欧洲av在线| 国产精品无码av在线播放| 日av在线不卡| 日韩一区免费观看| 老司机免费视频一区二区| 少妇特黄a一区二区三区| 日日夜夜免费精品| 在线观看成人av电影| 国产资源精品在线观看| 50度灰在线观看| av不卡在线播放| 日韩欧美在线免费观看视频| 国产清纯美女被跳蛋高潮一区二区久久w | 成人丝袜视频网| 神马影院午夜我不卡影院| 国产欧美在线| 欧洲成人一区二区| 久久国产免费看| 日韩成人午夜影院| 不卡av在线免费观看| 日韩精品 欧美| 国产日韩一级二级三级| www.亚洲高清| 亚洲成人综合视频| 1pondo在线播放免费| 欧美变态凌虐bdsm| 91精品xxx在线观看| 亚洲18私人小影院| 999国产精品视频| 欧美色欧美亚洲另类七区| 国内欧美视频一区二区| 99热在线这里只有精品| 亚洲女与黑人做爰| 国产福利片在线| 亚洲第一偷拍网| 日本一区二区三区电影免费观看| 97人人模人人爽人人喊中文字| 99re66热这里只有精品8| 欧美二区三区在线| av电影在线观看完整版一区二区| 男人艹女人网站| 亚洲高清免费视频| 污视频在线免费观看网站| 色悠悠久久久久| 国产欧美日韩在线一区二区| 国产日产精品一区二区三区四区| 国产最新精品精品你懂的| 日本成人免费网站| 欧美日韩你懂得| 99精品女人在线观看免费视频| 国产美女91呻吟求| 免费一级片91| 特级毛片在线观看| 亚洲精品午夜精品| 97偷自拍亚洲综合二区| 免费人成自慰网站| 色婷婷综合久色| 四虎精品在线观看| yellow视频在线观看一区二区| 高清国产一区二区三区| 白白色在线发布| 日韩精品久久久久久福利| 欧美绝顶高潮抽搐喷水合集| 久久久久网址| 国产精品丝袜黑色高跟| 日本高清视频在线播放| 午夜精品免费视频| 久久99久久99小草精品免视看| 嫩草嫩草嫩草嫩草| 亚洲美女av在线| 中文字幕亚洲精品乱码| 成年网站在线免费观看| 91精品国产综合久久精品app| 久久99国产精品久久99大师| 日日骚一区二区网站| 亚洲国产视频一区二区| 91精品福利观看| 久久人人爽爽人人爽人人片av| 日韩久久一区二区| 希岛爱理一区二区三区av高清| 精品久久久三级| 亚洲国产一区二区视频| 日本一区二区乱| 51xx午夜影福利| 国产老熟妇精品观看| 91精品久久久久久久久中文字幕 | 欧美亚洲天堂| 国产va免费精品高清在线| 久久99久久久久| 精品亚洲综合| 97国产精品视频人人做人人爱| 老司机精品视频在线| 精品视频一二三| 538国产精品视频一区二区| 国产盗摄精品一区二区三区在线| 欧美被日视频| 高清国产在线一区| 欧美视频一区二区三区…| 你懂的在线观看一区二区| 91专区在线观看| 一本色道久久综合狠狠躁篇的优点| 亚洲免费中文| 日本中文字幕电影在线观看 | 久久免费影院| 免费试看一区| 欧美性色19p| 残酷重口调教一区二区| 日韩一区二区三区不卡视频| 一个人www欧美| 寂寞少妇一区二区三区| 女人黄色免费在线观看| 黄色99视频| 欧美日韩aaaaaa| 国产九九精品| 国产调教视频在线观看| 精品亚洲欧美日韩| 欧美高清dvd| 亚洲影院在线| 77777影视视频在线观看| 国产专区一区二区| 欧美日韩在线直播| 日韩视频中文| 国产黄色在线网站| 日韩av大全| 精品欧美一区二区久久| 捆绑调教美女网站视频一区| 日本动漫理论片在线观看网站| 久久艹中文字幕| 日韩亚洲欧美在线观看| 毛片基地黄久久久久久天堂| 深夜福利视频一区二区| 欧美美女黄色网| 亚洲午夜激情免费视频| 国产综合色视频| 日韩脚交footjobhdboots| 国产黄色激情视频| 久久亚洲春色中文字幕| 国产日韩欧美一区二区三区乱码| 国产成人一二片| 亚洲天堂二区| 日本a级片久久久| 亚洲网站在线看| 日本一区二区成人在线| 四虎国产精品免费观看| 思思99re6国产在线播放| 久久综合九色99| 日韩av网站导航| 国产精品一二三| 哺乳挤奶一区二区三区免费看| 写真片福利在线播放| 国产一区二区自拍| 国产亚洲欧美日韩精品| **欧美大码日韩| 激情欧美日韩一区| 超碰一区二区| 色戒在线免费观看| 国产精品yjizz| 伊人伊人伊人久久| 亚洲国产精品一区二区久久 | 精品国产免费人成电影在线观看四季| 日韩精品一级二级| 国产私拍福利精品视频二区| 成人午夜激情av| 亚洲a∨日韩av高清在线观看| 欧美成人一级视频| 日本一区二区动态图| 好吊视频一区二区三区四区| а√天堂中文资源在线bt| 久久久综合九色合综国产精品| 亚洲男人av| 中国大陆高清aⅴ毛片| 久久久精品国产一区二区三区| 中文字幕成人精品久久不卡| 一区二区三区在线观看网站| 天堂一区二区在线免费观看| 男女激情免费视频| 50度灰在线| 少妇视频一区| 亚洲视频国产| 先锋亚洲精品| 人人草在线视频| 成人影院在线观看视频| 精品国产综合久久| 亚洲天堂久久av| 欧美日韩国产中文字幕| 成人午夜碰碰视频| 一本久久综合| 九九久久成人|