Python | 使用メモリサイズの確認方法

公開日:2021/5/26

Pythonでは,実行した構文の使用メモリサイズを確認することができる.先日,ジェネレータ関数を学習したので,通常の構文と比較しつつ,メモリサイズの確認をする.

◆実施環境

Python 3.8.8

■メモリサイズの比較

メモリサイズの確認には,"getsizeof 関数"を用いる.以下にlistを用いた構文(#1の処理)とジェネレータ関数を利用した構文(#2の処理)を比較する.

# 1の処理(listを用いた構文)
import sys

list = []
for i in range(100000):
  list.append(i)

print(sys.getsizeof(list))

# 2の処理(ジェネレーター関数を利用した構文)
def test(x):
  for n in range(x):
    yield n

gen = test(100000)
print(sys.getsizeof(gen))

■実行結果

結果,以下のようにジェネレータ関数を用いた構文の方が使用メモリサイズは小さい.

listを用いた構文:824456バイト
ジェネレータ関数を用いた構文:112バイト

# 1の結果
824456

# 2の結果
112

以上