※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 なんとなくわかってたけど思いのほか…
(33default) makoto@mba $ python -m memory_profiler d.py
Filename: d.py
Line # Mem usage Increment Line Contents
================================================
4 9.707 MiB 0.000 MiB @profile
5 def a():
6 9.711 MiB 0.004 MiB d = {}
7 11.027 MiB 1.316 MiB for i in range(10000):
8 11.027 MiB 0.000 MiB d[i] = str(i)
9 11.410 MiB 0.383 MiB d2 = copy.deepcopy(d)
10 11.410 MiB 0.000 MiB return d2
(33default) makoto@mba $ python -m memory_profiler od.py
Filename: od.py
Line # Mem usage Increment Line Contents
================================================
5 9.855 MiB 0.000 MiB @profile
6 def a():
7 9.867 MiB 0.012 MiB d = OrderedDict()
8 13.531 MiB 3.664 MiB for i in range(10000):
9 13.531 MiB 0.000 MiB d[i] = str(i)
10 18.715 MiB 5.184 MiB d2 = copy.deepcopy(d)
11 18.715 MiB 0.000 MiB return d2
ちなみに実行時間は、dictの場合100回で2.371秒、OrderedDictの場合100回で9.532秒だった。
便利なんだけどね。