Muppy Session
sage: get_memory_usage()
413.3515625
sage: for i in range(10):
....: m = ModularSymbols(501,2).decomposition(3);
....: del m; ModularSymbols_clear_cache();
....: get_memory_usage()
....:
468.109375
491.76171875
514.79296875
537.8359375
560.86328125
583.88671875
607.765625
630.2421875
653.265625
676.29296875
sage: print "WTF?"
mabshoff@sage:/scratch/mabshoff/release-cycle/sage-3.1.3.final$ ./sage -sh
Starting subshell with Sage environment variables set.
Be sure to exit when you are done and do not do anything
with other copies of Sage!
mabshoff@sage:/scratch/mabshoff/release-cycle/sage-3.1.3.final$ cd ..
mabshoff@sage:/scratch/mabshoff/release-cycle$ mkdir muppy
mabshoff@sage:/scratch/mabshoff/release-cycle$ cd muppy/
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy$ wget http://pypi.python.org/packages/source/m/muppy/muppy-0.1a2.tar.gz#md5=c963268ee88ae083ad3e8bc5044791a3
--12:08:02-- http://pypi.python.org/packages/source/m/muppy/muppy-0.1a2.tar.gz
=> `muppy-0.1a2.tar.gz'
Resolving pypi.python.org... 82.94.164.163
Connecting to pypi.python.org|82.94.164.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 128,402 (125K) [application/x-gzip]
100%[===============================================================================================================================================>] 128,402 150.42K/s
12:08:04 (150.06 KB/s) - `muppy-0.1a2.tar.gz' saved [128402/128402]
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy$ tar xjf muppy-0.1a2.tar.gz
bzip2: (stdin) is not a bzip2 file.
tar: Child returned status 2
tar: Error exit delayed from previous errors
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy$ tar xzf muppy-0.1a2.tar.gz
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy$ cd muppy-0.1a2
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy/muppy-0.1a2$ ls -la
total 48
drwxr-xr-x 5 mabshoff 1090 4096 2008-08-12 03:13 .
drwxr-xr-x 3 mabshoff 1090 4096 2008-11-09 12:08 ..
drwxr-xr-x 6 mabshoff 1090 4096 2008-08-12 03:13 doc
-rw-r--r-- 1 mabshoff 1090 11358 2008-08-06 05:23 LICENSE
drwxr-xr-x 3 mabshoff 1090 4096 2008-08-12 03:13 muppy
-rw-r--r-- 1 mabshoff 1090 404 2008-08-06 05:23 NOTICE
-rw-r--r-- 1 mabshoff 1090 1222 2008-08-12 03:13 PKG-INFO
-rw-r--r-- 1 mabshoff 1090 204 2008-08-11 09:18 README
-rw-r--r-- 1 mabshoff 1090 2481 2008-08-12 03:06 setup.py
drwxr-xr-x 2 mabshoff 1090 4096 2008-08-12 03:13 test
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy/muppy-0.1a2$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/muppy
copying muppy/refbrowser_gui.py -> build/lib/muppy
copying muppy/muppy.py -> build/lib/muppy
copying muppy/tracker.py -> build/lib/muppy
copying muppy/__init__.py -> build/lib/muppy
copying muppy/summary.py -> build/lib/muppy
copying muppy/refbrowser.py -> build/lib/muppy
copying muppy/mprofile.py -> build/lib/muppy
copying muppy/metadata.py -> build/lib/muppy
creating build/lib/muppy/utils
copying muppy/utils/__init__.py -> build/lib/muppy/utils
copying muppy/utils/asizeof.py -> build/lib/muppy/utils
running install_lib
creating /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/refbrowser_gui.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/muppy.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/tracker.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/__init__.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/summary.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/refbrowser.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/mprofile.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
copying build/lib/muppy/metadata.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy
creating /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/utils
copying build/lib/muppy/utils/__init__.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/utils
copying build/lib/muppy/utils/asizeof.py -> /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/utils
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/refbrowser_gui.py to refbrowser_gui.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/muppy.py to muppy.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/tracker.py to tracker.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/__init__.py to __init__.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/summary.py to summary.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/refbrowser.py to refbrowser.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/mprofile.py to mprofile.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/metadata.py to metadata.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/utils/__init__.py to __init__.pyc
byte-compiling /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy/utils/asizeof.py to asizeof.pyc
running install_egg_info
Writing /scratch/mabshoff/release-cycle/sage-3.1.3.final/local/lib/python2.5/site-packages/muppy-0.1a2-py2.5.egg-info
mabshoff@sage:/scratch/mabshoff/release-cycle/muppy/muppy-0.1a2$ cd ../../sage-3.1.3.final/
mabshoff@sage:/scratch/mabshoff/release-cycle/sage-3.1.3.final$ ./sage
----------------------------------------------------------------------
| Sage Version 3.2.alpha2, Release Date: 2008-10-31 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: import muppy
sage:
sage: all_objects = muppy.get_objects()
sage: len(all_objects)
241386
sage: from muppy import summary
sage: sum1 = summary.summarize(all_objects)
sage: summary.print_(sum1)
types | # objects | total size
=============================================== | =========== | ============
str | 76516 | 12689275
dict | 9165 | 7525584
list | 3013 | 6542360
tuple | 81491 | 6420616
method_descriptor | 5044 | 322816
weakref | 3436 | 274880
wrapper_descriptor | 2488 | 179136
instance(<class weakref.WeakKeyDictionary>) | 286 | 85472
getset_descriptor | 1221 | 78144
unicode | 220 | 76082
module(sage.all) | 1 | 74936
module(sage.all_cmdline) | 1 | 74888
int | 2664 | 63936
module(sage.dsage.dist_functions.dist_factor) | 1 | 56168
module(numpy) | 1 | 25112
sage: from muppy import refbrowser
sage: def foo():
....: m = ModularSymbols(501,2).decomposition(3);
....: del m; ModularSymbols_clear_cache();
....: get_memory_usage()
....:
sage: foo?
Type: function
Base Class: <type 'function'>
String Form: <function foo at 0x4299f10>
Namespace: Interactive
File: /scratch/mabshoff/release-cycle/sage-3.1.3.final/<ipython console>
Definition: foo()
Docstring:
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
sage: bar=muppy.get_usage(foo)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/scratch/mabshoff/release-cycle/sage-3.1.3.final/<ipython console> in <module>()
AttributeError: 'module' object has no attribute 'get_usage'
sage: def foo():
....: m = ModularSymbols(501,2).decomposition(3); del m; ModularSymbols_clear_cache(); get_memory_usage()
....:
sage: foo()
sage: bar=muppy.get_usage(foo)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/scratch/mabshoff/release-cycle/sage-3.1.3.final/<ipython console> in <module>()
AttributeError: 'module' object has no attribute 'get_usage'
sage: get_memory_usage()
485.1875
sage: for i in range(10):
....: m = ModularSymbols(501,2).decomposition(3); del m; ModularSymbols_clear_cache(); get_memory_usage()
....:
498.4375
517.35546875
532.78515625
545.8125
562.06640625
581.51171875
597.58984375
610.60546875
629.6171875
645.66015625
sage: sum2 = summary.summarize(muppy.get_objects())
sage: diff = summary.get_diff(sum1, sum2)
sage: summary.print_(diff)
types | # objects | total size
============================================================ | =========== | ============
list | 15216 | 16260520
dict | 14993 | 5151760
tuple | 32241 | 2139440
str | 17191 | 1377044
sage.modules.vector_rational_dense.Vector_rational_dense | 6424 | 513920
int | 20812 | 499488
<class 'sage.modular.modsym.manin_symbols.ManinSymbol | 8635 | 483560
sage.rings.rational.Rational | 5011 | 440968
unicode | 543 | 105986
<class 'sage.rings.integer_mod_ring.IntegerModRing_generic | 337 | 105144
<class 'sage.modular.modsym.element.ModularSymbolsElement | 1243 | 89496
<class 'sage.structure.formal_sum.FormalSum | 1243 | 89496
weakref | 891 | 71280
sage.matrix.matrix_rational_dense.Matrix_rational_dense | 382 | 61120
sage.rings.integer.Integer | 1215 | 58320
sage: diff[:30]
[['list', 15216, 16260520],
['dict', 14993, 5151760],
['tuple', 32241, 2139440],
['str', 17191, 1377044],
['sage.modules.vector_rational_dense.Vector_rational_dense', 6424, 513920],
['int', 20812, 499488],
["<class 'sage.modular.modsym.manin_symbols.ManinSymbol", 8635, 483560],
['sage.rings.rational.Rational', 5011, 440968],
['unicode', 543, 105986],
["<class 'sage.rings.integer_mod_ring.IntegerModRing_generic", 337, 105144],
["<class 'sage.modular.modsym.element.ModularSymbolsElement", 1243, 89496],
["<class 'sage.structure.formal_sum.FormalSum", 1243, 89496],
['weakref', 891, 71280],
['sage.matrix.matrix_rational_dense.Matrix_rational_dense', 382, 61120],
['sage.rings.integer.Integer', 1215, 58320],
["<class 'sage.modules.free_module.FreeModule_submodule_field", 195, 53040],
['sage.rings.integer_mod.IntegerMod_int', 675, 48600],
['sage.matrix.matrix_integer_dense.Matrix_integer_dense', 233, 31688],
['sage.rings.integer_mod.NativeIntStruct', 337, 29656],
["<class 'sage.modular.modsym.subspace.ModularSymbolsSubspace", 99, 26928],
["<class 'sage.rings.ideal.Ideal_pid", 337, 24264],
['sage.structure.mutability.Mutability', 673, 21536],
["<class 'sage.modules.free_module_homspace.FreeModuleHomspace", 80, 17920],
["<class 'sage.structure.sequence.Sequence", 209, 16720],
["<class 'sage.matrix.matrix_space.MatrixSpace_generic", 57, 15048],
['sage.libs.pari.gen.gen', 144, 11520],
['long', 333, 10656],
['sage.categories.action.PrecomposedAction', 80, 9600],
['wrapper_descriptor', 104, 7488],
['sage.categories.morphism.CallMorphism', 81, 7128]]