WindowsのUbuntuでPythonとPyPy(メモリサイズ)

メモリの使用量を見てみる。
まずはlistから。

#!/usr/bin/python

import time

a = [ n + 1 for n in xrange(10 ** 7) ]
time.sleep(10)
Python(Win)    160MB
PyPy(Win)       40MB
Python(Ubuntu) 320MB
PyPy(Ubuntu)    80MB

int64だから倍になるのはわかる。

#!/usr/bin/python

import time

dic = dict((n, n + 1) for n in xrange(10 ** 7))
time.sleep(10)
Python(Win)     430MB
PyPy(Win)       700MB
Python(Ubuntu)  870MB
PyPy(Ubuntu)   1150MB

これも同様だが、Ubuntuのdictは改善されているようだ。