わかっちゃいたけど

2014/03/05 01:40

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

なんとなくわかってたけど思いのほか…

  (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秒だった。

便利なんだけどね。

Prev Entry

Next Entry