glom
glom copied to clipboard
investigating memory usage
Python 3.6.11 (default, Jul 22 2020, 13:26:52)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import resource
>>> mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss * resource.getpagesize() / 1024.0 / 1024.0
>>> mb()
33.0
>>> import glom
>>> mb()
75.84375
>>> import glom.test
>>> mb()
76.140625
>>> from glom.test.test_error import test_midway_branch
>>> mb()
112.4375
>>> test_midway_branch()
AssertionError
>>> mb()
114.796875
>>> import resource
>>> mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss * resource.getpagesize() / 1024.0 / 1024.0
>>> CUR = mb()
>>> def d_mb():
... global CUR
... d = mb() - CUR
... CUR = mb()
... return d
...
>>> CUR
32.859375
>>> import os
>>> d_mb()
0.0
>>> import sys
>>> d_mb()
0.0
>>> import pdb
>>> d_mb()
11.703125
>>> import copy
>>> d_mb()
0.0
>>> import weakref
>>> d_mb()
0.0
>>> import operator
>>> d_mb()
0.0
>>> import abc
>>> d_mb()
0.0
>>> import pprint
>>> d_mb()
0.0
>>> import string
>>> d_mb()
0.0
>>> import collections
>>> d_mb()
0.0
>>> import traceback
>>> d_mb()
0.0
>>> import face
>>> d_mb()
27.796875
>>> import boltons
>>> d_mb()
0.0
>>> import boltons.typeutils
>>> d_mb()
0.0
>>> import boltons.iterutils
>>> d_mb()
0.0
>>> import reprlib
>>> d_mb()
0.0
tracked it down and the big one coming from face was importing hashlib + socket builtin modules in boltons iterutils.