例:
import sys
class Test():
def __init__(self):
self.a = 'a'
self.b = 'b'
self.c = 'c'
self.d = 'd'
self.e = 'e'
if __name__ == '__main__':
test = [Test() for i in range(100000)]
print(sys.getsizeof(test))
Windows タスク マネージャー: 100000 対 10 のリストを作成すると、20 MB もジャンプします。
sys.getsizeoff() の使用: 100000 のリストの場合、412,236 バイトを取得します。10 個のリストの場合、100 バイトになります。
これは非常に不釣り合いに思えます。なぜこうなった?