python應(yīng)用操作——使用slots來減少內(nèi)存開支
你是否注意到你的 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。只在對(duì)應(yīng)用進(jìn)行性能分析后才使用它,不然地話,你只是使得代碼難以改變而沒有真正的益處。
點(diǎn)擊加載更多評(píng)論>>