The following are examples of py_malloc.d

This is an experimental script to identify who is calling malloc() for memory 
allocation, and to print distribution plots of the requested bytes.  Here you
can see it running on Code/Python/func_abc.py

# py_malloc.d -c ./func_abc.py
Tracing... Hit Ctrl-C to end.
Function A
Function B
Function C

Python malloc byte distributions by engine caller,

   libpython2.4.so.1.0`_PyUnicode_New, total bytes = 2 
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
               4 |                                         0        

   libpython2.4.so.1.0`find_key, total bytes = 16 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
              32 |                                         0        

   libpython2.4.so.1.0`PyInterpreterState_New, total bytes = 36 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
              64 |                                         0        

   libpython2.4.so.1.0`_PyImport_Init, total bytes = 60 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
              64 |                                         0        

   libpython2.4.so.1.0`PyThreadState_New, total bytes = 84 
           value  ------------- Distribution ------------- count    
              32 |                                         0        
              64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             128 |                                         0        

   libpython2.4.so.1.0`pmerge, total bytes = 132 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@                                       1        
               8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   16       
              16 |                                         0        

   libpython2.4.so.1.0`PyThread_allocate_lock, total bytes = 144 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3        
              64 |                                         0        

   libpython2.4.so.1.0`convertsimple, total bytes = 210 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5        
              64 |                                         0        

   libc.so.1`strdup, total bytes = 451 
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@                                      1        
               4 |@@@                                      1        
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@@@@@                     8        
              32 |@@@@@@@@@@@@@@@                          6        
              64 |                                         0        

   libpython2.4.so.1.0`PyList_New, total bytes = 528 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@@@@@@@@@@@@@@@@@                       22       
               8 |@@@@@@@@@@@@@@@@@                        21       
              16 |@@@@@                                    6        
              32 |                                         0        
              64 |                                         0        
             128 |@                                        1        
             256 |                                         0        

   libpython2.4.so.1.0`PyTokenizer_FromFile, total bytes = 1024 
           value  ------------- Distribution ------------- count    
             512 |                                         0        
            1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
            2048 |                                         0        

   libpython2.4.so.1.0`_PyExc_Init, total bytes = 1058 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   40       
              32 |@@                                       2        
              64 |                                         0        

   libpython2.4.so.1.0`tok_new, total bytes = 1832 
           value  ------------- Distribution ------------- count    
             256 |                                         0        
             512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
            1024 |                                         0        

   libpython2.4.so.1.0`fill_free_list, total bytes = 1976 
           value  ------------- Distribution ------------- count    
             256 |                                         0        
             512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
            1024 |                                         0        

   libpython2.4.so.1.0`PyParser_New, total bytes = 12024 
           value  ------------- Distribution ------------- count    
            2048 |                                         0        
            4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
            8192 |                                         0        

   libpython2.4.so.1.0`PyObject_Malloc, total bytes = 35152 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@                      20       
             512 |@@@@@@@                                  7        
            1024 |@@@@@@@@@@                               11       
            2048 |@@@@                                     4        
            4096 |                                         0        

   libpython2.4.so.1.0`PyMem_Malloc, total bytes = 50683 
           value  ------------- Distribution ------------- count    
               4 |                                         0        
               8 |@@@                                      2        
              16 |@@@@@@@                                  4        
              32 |@@                                       1        
              64 |@@@@@@@@@@@@@                            8        
             128 |@@@@@                                    3        
             256 |                                         0        
             512 |                                         0        
            1024 |                                         0        
            2048 |                                         0        
            4096 |                                         0        
            8192 |@@@@@@@@@@                               6        
           16384 |                                         0        

   libc.so.1`_findbuf, total bytes = 51800 
           value  ------------- Distribution ------------- count    
             256 |                                         0        
             512 |@@@@@@@@@@@@@@@                          4        
            1024 |@@@@                                     1        
            2048 |                                         0        
            4096 |@@@@@@@                                  2        
            8192 |@@@@@@@@@@@@@@@                          4        
           16384 |                                         0        

   libpython2.4.so.1.0`dictresize, total bytes = 178752 
           value  ------------- Distribution ------------- count    
              64 |                                         0        
             128 |@                                        1        
             256 |@@@@@@@@@@@@@@@@@@@@@                    29       
             512 |                                         0        
            1024 |@@@@@@@@@@@@@@                           19       
            2048 |@                                        1        
            4096 |@                                        2        
            8192 |                                         0        
           16384 |@                                        1        
           32768 |                                         0        
           65536 |@                                        1        
          131072 |                                         0        

   libpython2.4.so.1.0`new_arena, total bytes = 262208 
           value  ------------- Distribution ------------- count    
              32 |                                         0        
              64 |@@@@@@@@@@@@@@@@@@@@                     1        
             128 |                                         0        
             256 |                                         0        
             512 |                                         0        
            1024 |                                         0        
            2048 |                                         0        
            4096 |                                         0        
            8192 |                                         0        
           16384 |                                         0        
           32768 |                                         0        
           65536 |                                         0        
          131072 |                                         0        
          262144 |@@@@@@@@@@@@@@@@@@@@                     1        
          524288 |                                         0        


Python malloc byte distributions by Python file and function,

   site.py, addsitepackages, bytes total = 4 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
               8 |                                         0        

   site.py, abs__file__, bytes total = 60 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
              64 |                                         0        

   posixpath.py, exists, bytes total = 83 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
              64 |                                         0        

   stat.py, S_ISDIR, bytes total = 364 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   site.py, _init_pathinfo, bytes total = 380 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   UserDict.py, DictMixin, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   codecs.py, StreamReader, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   codecs.py, StreamReaderWriter, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   codecs.py, StreamRecoder, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   codecs.py, StreamWriter, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   os.py, _Environ, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   site.py, _Printer, bytes total = 384 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   site.py, addsitedir, bytes total = 388 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
             512 |                                         0        

   linecache.py, ?, bytes total = 396 
           value  ------------- Distribution ------------- count    
               4 |                                         0        
               8 |@@@@@@@@@@@@@@@@@@@@                     1        
              16 |                                         0        
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@                     1        
             512 |                                         0        

   posixpath.py, isdir, bytes total = 608 
           value  ------------- Distribution ------------- count    
               1 |                                         0        
               2 |@@@@@@@                                  2        
               4 |                                         0        
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@@@@@@@@                  7        
              32 |@@@@@@@                                  2        
              64 |                                         0        
             128 |                                         0        
             256 |@@@                                      1        
             512 |                                         0        

   os.py, _get_exports_list, bytes total = 612 
           value  ------------- Distribution ------------- count    
             256 |                                         0        
             512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
            1024 |                                         0        

   posixpath.py, abspath, bytes total = 728 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
             512 |                                         0        

   site.py, execsitecustomize, bytes total = 790 
           value  ------------- Distribution ------------- count    
              16 |                                         0        
              32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     9        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@                                     1        
             512 |                                         0        

   UserDict.py, UserDict, bytes total = 1920 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@                     1        
             512 |                                         0        
            1024 |@@@@@@@@@@@@@@@@@@@@                     1        
            2048 |                                         0        

   stat.py, ?, bytes total = 1920 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@                     1        
             512 |                                         0        
            1024 |@@@@@@@@@@@@@@@@@@@@                     1        
            2048 |                                         0        

   types.py, ?, bytes total = 2680 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@@@@@                                   1        
               8 |@@@@@@@@@@@                              2        
              16 |                                         0        
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@                        3        
             512 |                                         0        
            1024 |@@@@@@                                   1        
            2048 |                                         0        

   posixpath.py, ?, bytes total = 3306 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@                         2        
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@                         2        
             512 |                                         0        
            1024 |                                         0        
            2048 |@@@@@@@@                                 1        
            4096 |                                         0        

   copy_reg.py, ?, bytes total = 3547 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@@@@@@@@@@@@@@                         2        
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@                                 1        
             512 |@@@@@@@@                                 1        
            1024 |                                         0        
            2048 |@@@@@@@@                                 1        
            4096 |                                         0        

   warnings.py, ?, bytes total = 3924 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@@@@@@                                 1        
              32 |@@@@@@@@                                 1        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@                         2        
             512 |                                         0        
            1024 |                                         0        
            2048 |@@@@@@@@                                 1        
            4096 |                                         0        

   func_abc.py, func_a, bytes total = 5100 
           value  ------------- Distribution ------------- count    
             256 |                                         0        
             512 |@@@@@@@@@@@@@@@@@@@@                     1        
            1024 |                                         0        
            2048 |                                         0        
            4096 |@@@@@@@@@@@@@@@@@@@@                     1        
            8192 |                                         0        

   codecs.py, ?, bytes total = 5612 
           value  ------------- Distribution ------------- count    
              32 |                                         0        
              64 |@@@@@@                                   1        
             128 |@@@@@@                                   1        
             256 |@@@@@@@@@@@                              2        
             512 |                                         0        
            1024 |@@@@@@@@@@@@@@@@@                        3        
            2048 |                                         0        

   aliases.py, ?, bytes total = 8064 
           value  ------------- Distribution ------------- count    
             128 |                                         0        
             256 |@@@@@@@@@@@@@                            1        
             512 |                                         0        
            1024 |@@@@@@@@@@@@@                            1        
            2048 |                                         0        
            4096 |@@@@@@@@@@@@@                            1        
            8192 |                                         0        

   func_abc.py, ?, bytes total = 16105 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@                                       1        
               8 |@@@@@                                    2        
              16 |@@@@@@@@@                                4        
              32 |@@@@@                                    2        
              64 |                                         0        
             128 |@@                                       1        
             256 |@@@@@@@                                  3        
             512 |@@                                       1        
            1024 |@@@@@                                    2        
            2048 |                                         0        
            4096 |                                         0        
            8192 |@@                                       1        
           16384 |                                         0        

   os.py, ?, bytes total = 58957 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@                                       3        
               8 |@@@@@                                    6        
              16 |@                                        1        
              32 |@@                                       2        
              64 |                                         0        
             128 |@                                        1        
             256 |@@@@@@@@@@@@@@@@@@                       23       
             512 |@@                                       3        
            1024 |@@@@@                                    7        
            2048 |                                         0        
            4096 |@@@                                      4        
            8192 |@                                        1        
           16384 |                                         0        

   site.py, ?, bytes total = 62589 
           value  ------------- Distribution ------------- count    
               8 |                                         0        
              16 |@@@                                      2        
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            20       
             512 |@                                        1        
            1024 |@@@                                      2        
            2048 |@                                        1        
            4096 |                                         0        
            8192 |                                         0        
           16384 |@@@                                      2        
           32768 |                                         0        

   __init__.py, ?, bytes total = 62593 
           value  ------------- Distribution ------------- count    
               0 |                                         0        
               1 |@@                                       1        
               2 |                                         0        
               4 |                                         0        
               8 |                                         0        
              16 |@@@                                      2        
              32 |@@                                       1        
              64 |                                         0        
             128 |                                         0        
             256 |@@@@@@@@@@@                              7        
             512 |@@@@@@@@@@@@@@@@                         10       
            1024 |@@@                                      2        
            2048 |                                         0        
            4096 |                                         0        
            8192 |                                         0        
           16384 |@@@                                      2        
           32768 |                                         0        

   posixpath.py, join, bytes total = 262144 
           value  ------------- Distribution ------------- count    
          131072 |                                         0        
          262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
          524288 |                                         0        

   os.py, _exists, bytes total = 362768 
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@                                        10       
               8 |@                                        10       
              16 |@@                                       20       
              32 |                                         0        
              64 |                                         0        
             128 |                                         0        
             256 |@                                        7        
             512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       447      
            1024 |@@                                       20       
            2048 |                                         0        
            4096 |@                                        10       
            8192 |                                         0        


The results are divided into two sections.  If a malloc() occurred while in a
Python function, then that function is identified as responsible; and the
results will appear in the second section - Python malloc byte distributions
by Python file and function.

Otherwise the caller of malloc() is identified as responsible - which will be
a function from the Python engine, and these are noted in the first section -
Python malloc byte distributions by engine caller.