亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python運行加速的方法是什么

發布時間:2022-03-29 16:52:23 來源:億速云 閱讀:190 作者:iii 欄目:移動開發

本篇內容主要講解“python運行加速的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python運行加速的方法是什么”吧!

一、總結

1、使用pypy
2、減少函數化調用
3、減少文件的打開即with的調用,將這一調用放在for循環前面,然后傳遞至后面需要用到的地方
4、if函數判斷條件多的盡量在前面
全面加速(pypy)

二、全面加速(pypy)

將python換為pypy,在純python代碼下,pypy的兼容性就不影響使用了,因為一些純python的代碼常常會用pypy進行一下加速

測試代碼,for循環10000000次

start = time.time()
for i in range(10000000):
    print(i,end="")
end = time.time()
print(f"耗費時間{end-start}秒>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")

pypy的耗時為:

python運行加速的方法是什么

而python耗時為

python運行加速的方法是什么

大致三倍,但是循環越多估計越快,據說有6倍左右

二、減少文件的打開即with的調用

原代碼的with在調用函數內,即每次調用函數都要打開并關閉文件,造成大量耗時

def BMES(word,tag):
    with open(r"J:PyCharm項目學習進行中NLP教程NLP教程數據集詞性標注
ature2ner.txt","a+",encoding="utf-8")as f_:
        if len(word) == 1:
            """單字"""
            f_.write(word + " " + f"S-{tag.upper()}" + "
")
        else:
            """多字"""
            for index, word_ in enumerate(word):
                if index == 0:
                    f_.write(word_ + " " + f"B-{tag.upper()}" + "
")
                elif 0 < index < len(word) - 1:
                    f_.write(word_ + " " + f"M-{tag.upper()}" + "
")
                else:
                    f_.write(word_ + " " + f"E-{tag.upper()}" + "
")

#后續在多個if-elif-else中調用

耗時為

python運行加速的方法是什么

tqdm預估時間在15~25個小時左右跳動

將with放在循環前面


python運行加速的方法是什么

將with的內容作為f_傳遞進來

python運行加速的方法是什么

后的耗時為:

python運行加速的方法是什么

測試如下:

import os, warnings,time,tqdm
def txt(word):
    with open("ceshi.txt","a+",encoding="utf-8")as f:
        if len(str(word))<=2:
            word+=100
            f.write(str(word)+"
")
        elif 2<len(str(word))<=4:
            word+=200
            f.write(str(word)+"
")
        else:
            f.write(str(word) + "
")
if __name__=="__main__":
    start = time.time()
    for i in tqdm.tqdm(range(100000)):
        txt(i)
    end = time.time()
    print(f"耗費時間{end-start}秒>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")

耗時結果為:

python運行加速的方法是什么

將文件的打開即with的調用放在外面

import os, warnings,time,tqdm
def txt(f,word):

        if len(str(word))<=2:
            word+=100
            f.write(str(word)+"
")
        elif 2<len(str(word))<=4:
            word+=200
            f.write(str(word)+"
")
        else:
            f.write(str(word) + "
")
if __name__=="__main__":
    start = time.time()
    with open("ceshi.txt", "a+", encoding="utf-8")as f:
        for i in tqdm.tqdm(range(100000)):

            txt(f,i)
    end = time.time()
    print(f"耗費時間{end-start}秒>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")

耗時為

python運行加速的方法是什么

結論:快了119倍,而實際加速遠遠大于這個倍數

三、if判斷靠前

如:

 if tag in ["nts", "nto", "ntc", "ntcb", "ntcf", "ntch", "nth", "ntu", "nt"]:
                                BMES(f_,i2, tag="ORG")
                            elif tag in ["nb", "nba", "nbc", "nbp", "nf", "nm", "nmc", "nhm", "nh"]:
                                BMES(f_,i2, tag="OBJ")
                            elif tag in ["nnd", "nnt", "nn"]:
                                BMES(f_,i2, tag="JOB")
                            elif tag in ["nr", "nrf"]:
                                BMES(f_,i2, tag="PER")
                            elif tag in ["t"]:
                                BMES(f_,i2, tag="TIME")
                            elif tag in ["ns", "nsf"]:
                                BMES(f_,i2, tag="LOC")
                            else:
                                for i3 in list(i2):
                                    f_.write(i3 + " " + f"O" + "
")

滿足條件的可以先跳出判斷

到此,相信大家對“python運行加速的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科技| 陵川县| 富锦市| 宁化县| 宁都县| 鹤岗市| 长阳| 万州区| 多伦县| 华蓥市| 昌黎县| 恩平市| 秀山| 镇沅| 兰溪市| 留坝县| 紫阳县| 聂荣县| 涞水县| 彩票| 台东市| 通榆县| 绥阳县| 定边县| 巴青县| 尚义县| 江达县| 荆州市| 瑞安市| 景东| 革吉县| 三门峡市| 宝丰县| 赤城县| 团风县| 兴化市| 灵台县| 漳浦县| 和田县| 宁安市| 滕州市|