真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

這篇文章將為大家詳細(xì)講解有關(guān)怎么加快Python應(yīng)用的啟動(dòng)時(shí)間,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、高端網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專(zhuān)才。

我聽(tīng)說(shuō)pipenv9.0.2已經(jīng)發(fā)布,啟動(dòng)時(shí)間有了很大的改進(jìn)。

我很快就試了一下,但我覺(jué)得并不快。所以我用Python3.7的新特性來(lái)研究它。

在本文中,我將介紹該特性以及如何使用它。

啟動(dòng)時(shí)間≒導(dǎo)入時(shí)間

例如,pipenv -h 的執(zhí)行時(shí)間比顯示幫助消息的時(shí)間長(zhǎng)得多。

一般來(lái)說(shuō),當(dāng)應(yīng)用程序啟動(dòng)時(shí),會(huì)有一些啟動(dòng)過(guò)程,比如加載環(huán)境變量或配置文件。

對(duì)于Python應(yīng)用程序,導(dǎo)入模塊占用了大部分啟動(dòng)時(shí)間。例如,pipenv --version 花費(fèi)了大約800ms,而import pipenv 花費(fèi)了700ms。

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

顯示模塊的導(dǎo)入時(shí)間

Python 3.7有新的特性來(lái)顯示導(dǎo)入模塊的時(shí)間。

這個(gè)特性是通過(guò) -X importtime 選項(xiàng)或 PYTHONPROFILEIMPORTTIM 環(huán)境變量來(lái)啟用的。

例如,您可以利用以下命令來(lái)測(cè)試pipenv的導(dǎo)入時(shí)間:

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

這里是一個(gè)pipenv --version輸出結(jié)果的例子 。

研究導(dǎo)入時(shí)間

在輸出的最后面,你會(huì)看到這些行:

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

在最后一行,579479表示 import pipenv 需要579479us。

在導(dǎo)入pipenv的同時(shí),還導(dǎo)入了許多其他模塊。從上面的示例中,您可以看到 pipenv 導(dǎo)入了pipenv.cli。子導(dǎo)入以2個(gè)空格縮進(jìn)。

再看最后一行。507表示運(yùn)行pipenv模塊時(shí)只需要507us。579479-507=578972us用于子導(dǎo)入。

找出緩慢的部分

我們來(lái)從輸出中找到緩慢子樹(shù)。我選取了幾行。

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

pkg_resources

如您所見(jiàn),導(dǎo)入pkg_resources 很緩慢。

但令人驚訝的是,pkg_resources沒(méi)有進(jìn)行縮進(jìn);它不是pipenv的子導(dǎo)入。

這意味著pkg_resources是由pipenv腳本而不是模塊導(dǎo)入的。

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

壞消息: 導(dǎo)入pkg_resources很慢。這是一個(gè)已知的問(wèn)題,在不破壞向后兼容性的情況下很難修復(fù)。

好消息: 您可以避免導(dǎo)入pkg_resources!

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

在安裝了wheel之后,pip會(huì)對(duì)它進(jìn)行構(gòu)建并從構(gòu)建包進(jìn)行安裝。

從wheel (.whl)和源碼包(.tar.gz)安裝是不同的過(guò)程。

從wheel安裝時(shí),腳本中不使用pkg_resources:

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

IPython

看下面的部分.

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

pipenv導(dǎo)入dotenv, dotenv再導(dǎo)入 dotenv.ipython,它再導(dǎo)入IPython。

這就是為什么pipenv在我的環(huán)境中開(kāi)始很慢; 我已經(jīng)安裝了IPython。

但是為什么要導(dǎo)入IPython呢?我閱讀了dotenv源碼,發(fā)現(xiàn)它是用于IPython擴(kuò)展的。

當(dāng)然,pipenv和許多dotenv用戶(hù)并不使用IPython擴(kuò)展。

我向dotenv提交了一個(gè)推送請(qǐng)求,建議dotenv根據(jù)需要導(dǎo)入IPython。

由于pipenv有自己的dotenv副本,所以我向pipenv提交了完全刪除dotenv.ipython的推送請(qǐng)求。

結(jié)論

我可以將 pipenv--version 的時(shí)間從800ms減少到500ms。

怎么加快Python應(yīng)用的啟動(dòng)時(shí)間

導(dǎo)入時(shí)間分析是研究和優(yōu)化應(yīng)用程序啟動(dòng)時(shí)間的好方法。

關(guān)于“怎么加快Python應(yīng)用的啟動(dòng)時(shí)間”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


網(wǎng)站欄目:怎么加快Python應(yīng)用的啟動(dòng)時(shí)間
當(dāng)前網(wǎng)址:http://weahome.cn/article/jhscjs.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部