回答編集履歴
3
説明の改善
test
CHANGED
@@ -50,6 +50,6 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
ただし、`p2`には参照オブジェクトの`__dict__`があり、これが192byte消費しているので、
|
53
|
+
ただし、`p2`には参照オブジェクトの`__dict__`があり、これが192byte消費しているので、`p1`の方が差し引き160byteくらい節約できている、と考えれば良いと思います。
|
54
54
|
|
55
55
|
(厳密な正しさは保証しません)
|
2
説明の改善
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
`sys.getsizeof()`では上手く測れません。
|
1
|
+
`sys.getsizeof()`ではオブジェクトのメモリ使用量は上手く測れません。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -10,11 +10,15 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
`obj.__dict__`は`obj`が参照しているオブジェクトです。これのメモリ使用量は`sys.getsizeof(obj)`では見れません。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
……困ったことに、参照オブジェクトを含めて上手く測れる簡単な手段は実はないのですが。
|
17
|
+
……困ったことに、参照オブジェクトを含めて上手くメモリ使用量を測れる簡単な手段は実はないのですが。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
とりあえず`p2.__dict__`のサイズを見ましょう。
|
18
22
|
|
19
23
|
|
20
24
|
|
@@ -46,6 +50,6 @@
|
|
46
50
|
|
47
51
|
|
48
52
|
|
49
|
-
ただし、`p2`には参照オブジェクトの`__dict__`があり、これが192byte消費しているので、差し引き160byteくらい得している、と考えれば良いと思います。
|
53
|
+
ただし、`p2`には参照オブジェクトの`__dict__`があり、これが192byte消費しているので、差し引き`p1`の方が160byteくらい得している、と考えれば良いと思います。
|
50
54
|
|
51
55
|
(厳密な正しさは保証しません)
|
1
コード変更
test
CHANGED
@@ -28,6 +28,10 @@
|
|
28
28
|
|
29
29
|
print(sys.getsizeof(p2)) # => 56
|
30
30
|
|
31
|
+
|
32
|
+
|
33
|
+
# 追加
|
34
|
+
|
31
35
|
print(sys.getsizeof(p2.__dict__)) # => 192
|
32
36
|
|
33
37
|
|