位置:首頁 > 軟件操作教程 > 編程開發(fā) > Python > 問題詳情

python應(yīng)用操作——使用slots來減少內(nèi)存開支

提問人:ylm發(fā)布時(shí)間:2020-09-29

你是否注意到你的 Python 應(yīng)用占用許多資源特別是內(nèi)存?有一個(gè)技巧是使用 slots 類變量來在一定程度上減少內(nèi)存開支。

import sysclass FileSystem(object):

 

    def __init__(self, files, folders, devices):

        self.files = files

        self.folders = folders

        self.devices = devices

print(sys.getsizeof( FileSystem ))

 class FileSystem1(object):

 

    __slots__ = ['files', 'folders', 'devices']

    def __init__(self, files, folders, devices):

        self.files = files

        self.folders = folders

        self.devices = devices

 

print(sys.getsizeof( FileSystem1 ))#In Python 3.5#1-> 1016#2-> 888

很明顯,你可以從結(jié)果中看到確實(shí)有內(nèi)存使用上的節(jié)省,但是你只應(yīng)該在一個(gè)類的內(nèi)存開銷不必要得大時(shí)才使用 slots。只在對應(yīng)用進(jìn)行性能分析后才使用它,不然地話,你只是使得代碼難以改變而沒有真正的益處。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部