Pythonのお勉強 Part21
■ このスレッドは過去ログ倉庫に格納されています
0409デフォルトの名無しさん
2007/11/12(月) 00:50:25def sample1():
for x in range(1000000):
ary.append(DummyClass1('TestTest%09d' % (x)))
print "last"
def sample2():
for x in range(1000000):
ary.append(DummyClass2('TestTest%09d' % (x)))
print "last"
def sample3():
for x in range(1000000):
ary.append('TestTest%09d' % (x))
print "last"
sample1()
time.sleep(5)
DummyClass1, DummyClass2 ともに引数の値をインスタンス変数に渡すだけですが、
DummyClass2 のほうでは10個以上のメソッドを作ってあります。
今編集中のプログラムに上記と似たような箇所があり、(実際はループも引数ももっと意味のあるものですが)
クラスの処理がクラスメソッドでなく関数で行われていたためクラスに移動しようかと思いましたが、
クラスのメソッドの数で更にメモリを使うものかと思って上記のようなものを作った次第です。
タスクマネージャで見た結果では sample1(), sample2() が250MB超えるのに対して sample3() は80MB程度で済みます。
できれば今のままクラスで扱いたいと思っていましたが、こんな差が出るなら見直しは必要かと思います。
オプションか何かでクラスインスタンスの使うメモリの量を減らすことってできませんかね?
■ このスレッドは過去ログ倉庫に格納されています