1*c29d5175SchristosThe following are examples of py_malloc.d 2*c29d5175Schristos 3*c29d5175SchristosThis is an experimental script to identify who is calling malloc() for memory 4*c29d5175Schristosallocation, and to print distribution plots of the requested bytes. Here you 5*c29d5175Schristoscan see it running on Code/Python/func_abc.py 6*c29d5175Schristos 7*c29d5175Schristos# py_malloc.d -c ./func_abc.py 8*c29d5175SchristosTracing... Hit Ctrl-C to end. 9*c29d5175SchristosFunction A 10*c29d5175SchristosFunction B 11*c29d5175SchristosFunction C 12*c29d5175Schristos 13*c29d5175SchristosPython malloc byte distributions by engine caller, 14*c29d5175Schristos 15*c29d5175Schristos libpython2.4.so.1.0`_PyUnicode_New, total bytes = 2 16*c29d5175Schristos value ------------- Distribution ------------- count 17*c29d5175Schristos 1 | 0 18*c29d5175Schristos 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 19*c29d5175Schristos 4 | 0 20*c29d5175Schristos 21*c29d5175Schristos libpython2.4.so.1.0`find_key, total bytes = 16 22*c29d5175Schristos value ------------- Distribution ------------- count 23*c29d5175Schristos 8 | 0 24*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 25*c29d5175Schristos 32 | 0 26*c29d5175Schristos 27*c29d5175Schristos libpython2.4.so.1.0`PyInterpreterState_New, total bytes = 36 28*c29d5175Schristos value ------------- Distribution ------------- count 29*c29d5175Schristos 16 | 0 30*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 31*c29d5175Schristos 64 | 0 32*c29d5175Schristos 33*c29d5175Schristos libpython2.4.so.1.0`_PyImport_Init, total bytes = 60 34*c29d5175Schristos value ------------- Distribution ------------- count 35*c29d5175Schristos 16 | 0 36*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 37*c29d5175Schristos 64 | 0 38*c29d5175Schristos 39*c29d5175Schristos libpython2.4.so.1.0`PyThreadState_New, total bytes = 84 40*c29d5175Schristos value ------------- Distribution ------------- count 41*c29d5175Schristos 32 | 0 42*c29d5175Schristos 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 43*c29d5175Schristos 128 | 0 44*c29d5175Schristos 45*c29d5175Schristos libpython2.4.so.1.0`pmerge, total bytes = 132 46*c29d5175Schristos value ------------- Distribution ------------- count 47*c29d5175Schristos 2 | 0 48*c29d5175Schristos 4 |@@ 1 49*c29d5175Schristos 8 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 16 50*c29d5175Schristos 16 | 0 51*c29d5175Schristos 52*c29d5175Schristos libpython2.4.so.1.0`PyThread_allocate_lock, total bytes = 144 53*c29d5175Schristos value ------------- Distribution ------------- count 54*c29d5175Schristos 16 | 0 55*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 56*c29d5175Schristos 64 | 0 57*c29d5175Schristos 58*c29d5175Schristos libpython2.4.so.1.0`convertsimple, total bytes = 210 59*c29d5175Schristos value ------------- Distribution ------------- count 60*c29d5175Schristos 16 | 0 61*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5 62*c29d5175Schristos 64 | 0 63*c29d5175Schristos 64*c29d5175Schristos libc.so.1`strdup, total bytes = 451 65*c29d5175Schristos value ------------- Distribution ------------- count 66*c29d5175Schristos 1 | 0 67*c29d5175Schristos 2 |@@@ 1 68*c29d5175Schristos 4 |@@@ 1 69*c29d5175Schristos 8 | 0 70*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@@@@@ 8 71*c29d5175Schristos 32 |@@@@@@@@@@@@@@@ 6 72*c29d5175Schristos 64 | 0 73*c29d5175Schristos 74*c29d5175Schristos libpython2.4.so.1.0`PyList_New, total bytes = 528 75*c29d5175Schristos value ------------- Distribution ------------- count 76*c29d5175Schristos 2 | 0 77*c29d5175Schristos 4 |@@@@@@@@@@@@@@@@@@ 22 78*c29d5175Schristos 8 |@@@@@@@@@@@@@@@@@ 21 79*c29d5175Schristos 16 |@@@@@ 6 80*c29d5175Schristos 32 | 0 81*c29d5175Schristos 64 | 0 82*c29d5175Schristos 128 |@ 1 83*c29d5175Schristos 256 | 0 84*c29d5175Schristos 85*c29d5175Schristos libpython2.4.so.1.0`PyTokenizer_FromFile, total bytes = 1024 86*c29d5175Schristos value ------------- Distribution ------------- count 87*c29d5175Schristos 512 | 0 88*c29d5175Schristos 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 89*c29d5175Schristos 2048 | 0 90*c29d5175Schristos 91*c29d5175Schristos libpython2.4.so.1.0`_PyExc_Init, total bytes = 1058 92*c29d5175Schristos value ------------- Distribution ------------- count 93*c29d5175Schristos 8 | 0 94*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 40 95*c29d5175Schristos 32 |@@ 2 96*c29d5175Schristos 64 | 0 97*c29d5175Schristos 98*c29d5175Schristos libpython2.4.so.1.0`tok_new, total bytes = 1832 99*c29d5175Schristos value ------------- Distribution ------------- count 100*c29d5175Schristos 256 | 0 101*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 102*c29d5175Schristos 1024 | 0 103*c29d5175Schristos 104*c29d5175Schristos libpython2.4.so.1.0`fill_free_list, total bytes = 1976 105*c29d5175Schristos value ------------- Distribution ------------- count 106*c29d5175Schristos 256 | 0 107*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 108*c29d5175Schristos 1024 | 0 109*c29d5175Schristos 110*c29d5175Schristos libpython2.4.so.1.0`PyParser_New, total bytes = 12024 111*c29d5175Schristos value ------------- Distribution ------------- count 112*c29d5175Schristos 2048 | 0 113*c29d5175Schristos 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 114*c29d5175Schristos 8192 | 0 115*c29d5175Schristos 116*c29d5175Schristos libpython2.4.so.1.0`PyObject_Malloc, total bytes = 35152 117*c29d5175Schristos value ------------- Distribution ------------- count 118*c29d5175Schristos 128 | 0 119*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@ 20 120*c29d5175Schristos 512 |@@@@@@@ 7 121*c29d5175Schristos 1024 |@@@@@@@@@@ 11 122*c29d5175Schristos 2048 |@@@@ 4 123*c29d5175Schristos 4096 | 0 124*c29d5175Schristos 125*c29d5175Schristos libpython2.4.so.1.0`PyMem_Malloc, total bytes = 50683 126*c29d5175Schristos value ------------- Distribution ------------- count 127*c29d5175Schristos 4 | 0 128*c29d5175Schristos 8 |@@@ 2 129*c29d5175Schristos 16 |@@@@@@@ 4 130*c29d5175Schristos 32 |@@ 1 131*c29d5175Schristos 64 |@@@@@@@@@@@@@ 8 132*c29d5175Schristos 128 |@@@@@ 3 133*c29d5175Schristos 256 | 0 134*c29d5175Schristos 512 | 0 135*c29d5175Schristos 1024 | 0 136*c29d5175Schristos 2048 | 0 137*c29d5175Schristos 4096 | 0 138*c29d5175Schristos 8192 |@@@@@@@@@@ 6 139*c29d5175Schristos 16384 | 0 140*c29d5175Schristos 141*c29d5175Schristos libc.so.1`_findbuf, total bytes = 51800 142*c29d5175Schristos value ------------- Distribution ------------- count 143*c29d5175Schristos 256 | 0 144*c29d5175Schristos 512 |@@@@@@@@@@@@@@@ 4 145*c29d5175Schristos 1024 |@@@@ 1 146*c29d5175Schristos 2048 | 0 147*c29d5175Schristos 4096 |@@@@@@@ 2 148*c29d5175Schristos 8192 |@@@@@@@@@@@@@@@ 4 149*c29d5175Schristos 16384 | 0 150*c29d5175Schristos 151*c29d5175Schristos libpython2.4.so.1.0`dictresize, total bytes = 178752 152*c29d5175Schristos value ------------- Distribution ------------- count 153*c29d5175Schristos 64 | 0 154*c29d5175Schristos 128 |@ 1 155*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@ 29 156*c29d5175Schristos 512 | 0 157*c29d5175Schristos 1024 |@@@@@@@@@@@@@@ 19 158*c29d5175Schristos 2048 |@ 1 159*c29d5175Schristos 4096 |@ 2 160*c29d5175Schristos 8192 | 0 161*c29d5175Schristos 16384 |@ 1 162*c29d5175Schristos 32768 | 0 163*c29d5175Schristos 65536 |@ 1 164*c29d5175Schristos 131072 | 0 165*c29d5175Schristos 166*c29d5175Schristos libpython2.4.so.1.0`new_arena, total bytes = 262208 167*c29d5175Schristos value ------------- Distribution ------------- count 168*c29d5175Schristos 32 | 0 169*c29d5175Schristos 64 |@@@@@@@@@@@@@@@@@@@@ 1 170*c29d5175Schristos 128 | 0 171*c29d5175Schristos 256 | 0 172*c29d5175Schristos 512 | 0 173*c29d5175Schristos 1024 | 0 174*c29d5175Schristos 2048 | 0 175*c29d5175Schristos 4096 | 0 176*c29d5175Schristos 8192 | 0 177*c29d5175Schristos 16384 | 0 178*c29d5175Schristos 32768 | 0 179*c29d5175Schristos 65536 | 0 180*c29d5175Schristos 131072 | 0 181*c29d5175Schristos 262144 |@@@@@@@@@@@@@@@@@@@@ 1 182*c29d5175Schristos 524288 | 0 183*c29d5175Schristos 184*c29d5175Schristos 185*c29d5175SchristosPython malloc byte distributions by Python file and function, 186*c29d5175Schristos 187*c29d5175Schristos site.py, addsitepackages, bytes total = 4 188*c29d5175Schristos value ------------- Distribution ------------- count 189*c29d5175Schristos 2 | 0 190*c29d5175Schristos 4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 191*c29d5175Schristos 8 | 0 192*c29d5175Schristos 193*c29d5175Schristos site.py, abs__file__, bytes total = 60 194*c29d5175Schristos value ------------- Distribution ------------- count 195*c29d5175Schristos 16 | 0 196*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 197*c29d5175Schristos 64 | 0 198*c29d5175Schristos 199*c29d5175Schristos posixpath.py, exists, bytes total = 83 200*c29d5175Schristos value ------------- Distribution ------------- count 201*c29d5175Schristos 16 | 0 202*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 203*c29d5175Schristos 64 | 0 204*c29d5175Schristos 205*c29d5175Schristos stat.py, S_ISDIR, bytes total = 364 206*c29d5175Schristos value ------------- Distribution ------------- count 207*c29d5175Schristos 128 | 0 208*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 209*c29d5175Schristos 512 | 0 210*c29d5175Schristos 211*c29d5175Schristos site.py, _init_pathinfo, bytes total = 380 212*c29d5175Schristos value ------------- Distribution ------------- count 213*c29d5175Schristos 128 | 0 214*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 215*c29d5175Schristos 512 | 0 216*c29d5175Schristos 217*c29d5175Schristos UserDict.py, DictMixin, bytes total = 384 218*c29d5175Schristos value ------------- Distribution ------------- count 219*c29d5175Schristos 128 | 0 220*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 221*c29d5175Schristos 512 | 0 222*c29d5175Schristos 223*c29d5175Schristos codecs.py, StreamReader, bytes total = 384 224*c29d5175Schristos value ------------- Distribution ------------- count 225*c29d5175Schristos 128 | 0 226*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 227*c29d5175Schristos 512 | 0 228*c29d5175Schristos 229*c29d5175Schristos codecs.py, StreamReaderWriter, bytes total = 384 230*c29d5175Schristos value ------------- Distribution ------------- count 231*c29d5175Schristos 128 | 0 232*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 233*c29d5175Schristos 512 | 0 234*c29d5175Schristos 235*c29d5175Schristos codecs.py, StreamRecoder, bytes total = 384 236*c29d5175Schristos value ------------- Distribution ------------- count 237*c29d5175Schristos 128 | 0 238*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 239*c29d5175Schristos 512 | 0 240*c29d5175Schristos 241*c29d5175Schristos codecs.py, StreamWriter, bytes total = 384 242*c29d5175Schristos value ------------- Distribution ------------- count 243*c29d5175Schristos 128 | 0 244*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 245*c29d5175Schristos 512 | 0 246*c29d5175Schristos 247*c29d5175Schristos os.py, _Environ, bytes total = 384 248*c29d5175Schristos value ------------- Distribution ------------- count 249*c29d5175Schristos 128 | 0 250*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 251*c29d5175Schristos 512 | 0 252*c29d5175Schristos 253*c29d5175Schristos site.py, _Printer, bytes total = 384 254*c29d5175Schristos value ------------- Distribution ------------- count 255*c29d5175Schristos 128 | 0 256*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 257*c29d5175Schristos 512 | 0 258*c29d5175Schristos 259*c29d5175Schristos site.py, addsitedir, bytes total = 388 260*c29d5175Schristos value ------------- Distribution ------------- count 261*c29d5175Schristos 128 | 0 262*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 263*c29d5175Schristos 512 | 0 264*c29d5175Schristos 265*c29d5175Schristos linecache.py, ?, bytes total = 396 266*c29d5175Schristos value ------------- Distribution ------------- count 267*c29d5175Schristos 4 | 0 268*c29d5175Schristos 8 |@@@@@@@@@@@@@@@@@@@@ 1 269*c29d5175Schristos 16 | 0 270*c29d5175Schristos 32 | 0 271*c29d5175Schristos 64 | 0 272*c29d5175Schristos 128 | 0 273*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@ 1 274*c29d5175Schristos 512 | 0 275*c29d5175Schristos 276*c29d5175Schristos posixpath.py, isdir, bytes total = 608 277*c29d5175Schristos value ------------- Distribution ------------- count 278*c29d5175Schristos 1 | 0 279*c29d5175Schristos 2 |@@@@@@@ 2 280*c29d5175Schristos 4 | 0 281*c29d5175Schristos 8 | 0 282*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@@@@@@@@ 7 283*c29d5175Schristos 32 |@@@@@@@ 2 284*c29d5175Schristos 64 | 0 285*c29d5175Schristos 128 | 0 286*c29d5175Schristos 256 |@@@ 1 287*c29d5175Schristos 512 | 0 288*c29d5175Schristos 289*c29d5175Schristos os.py, _get_exports_list, bytes total = 612 290*c29d5175Schristos value ------------- Distribution ------------- count 291*c29d5175Schristos 256 | 0 292*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 293*c29d5175Schristos 1024 | 0 294*c29d5175Schristos 295*c29d5175Schristos posixpath.py, abspath, bytes total = 728 296*c29d5175Schristos value ------------- Distribution ------------- count 297*c29d5175Schristos 128 | 0 298*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 299*c29d5175Schristos 512 | 0 300*c29d5175Schristos 301*c29d5175Schristos site.py, execsitecustomize, bytes total = 790 302*c29d5175Schristos value ------------- Distribution ------------- count 303*c29d5175Schristos 16 | 0 304*c29d5175Schristos 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9 305*c29d5175Schristos 64 | 0 306*c29d5175Schristos 128 | 0 307*c29d5175Schristos 256 |@@@@ 1 308*c29d5175Schristos 512 | 0 309*c29d5175Schristos 310*c29d5175Schristos UserDict.py, UserDict, bytes total = 1920 311*c29d5175Schristos value ------------- Distribution ------------- count 312*c29d5175Schristos 128 | 0 313*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@ 1 314*c29d5175Schristos 512 | 0 315*c29d5175Schristos 1024 |@@@@@@@@@@@@@@@@@@@@ 1 316*c29d5175Schristos 2048 | 0 317*c29d5175Schristos 318*c29d5175Schristos stat.py, ?, bytes total = 1920 319*c29d5175Schristos value ------------- Distribution ------------- count 320*c29d5175Schristos 128 | 0 321*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@ 1 322*c29d5175Schristos 512 | 0 323*c29d5175Schristos 1024 |@@@@@@@@@@@@@@@@@@@@ 1 324*c29d5175Schristos 2048 | 0 325*c29d5175Schristos 326*c29d5175Schristos types.py, ?, bytes total = 2680 327*c29d5175Schristos value ------------- Distribution ------------- count 328*c29d5175Schristos 2 | 0 329*c29d5175Schristos 4 |@@@@@@ 1 330*c29d5175Schristos 8 |@@@@@@@@@@@ 2 331*c29d5175Schristos 16 | 0 332*c29d5175Schristos 32 | 0 333*c29d5175Schristos 64 | 0 334*c29d5175Schristos 128 | 0 335*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@ 3 336*c29d5175Schristos 512 | 0 337*c29d5175Schristos 1024 |@@@@@@ 1 338*c29d5175Schristos 2048 | 0 339*c29d5175Schristos 340*c29d5175Schristos posixpath.py, ?, bytes total = 3306 341*c29d5175Schristos value ------------- Distribution ------------- count 342*c29d5175Schristos 8 | 0 343*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@ 2 344*c29d5175Schristos 32 | 0 345*c29d5175Schristos 64 | 0 346*c29d5175Schristos 128 | 0 347*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@ 2 348*c29d5175Schristos 512 | 0 349*c29d5175Schristos 1024 | 0 350*c29d5175Schristos 2048 |@@@@@@@@ 1 351*c29d5175Schristos 4096 | 0 352*c29d5175Schristos 353*c29d5175Schristos copy_reg.py, ?, bytes total = 3547 354*c29d5175Schristos value ------------- Distribution ------------- count 355*c29d5175Schristos 8 | 0 356*c29d5175Schristos 16 |@@@@@@@@@@@@@@@@ 2 357*c29d5175Schristos 32 | 0 358*c29d5175Schristos 64 | 0 359*c29d5175Schristos 128 | 0 360*c29d5175Schristos 256 |@@@@@@@@ 1 361*c29d5175Schristos 512 |@@@@@@@@ 1 362*c29d5175Schristos 1024 | 0 363*c29d5175Schristos 2048 |@@@@@@@@ 1 364*c29d5175Schristos 4096 | 0 365*c29d5175Schristos 366*c29d5175Schristos warnings.py, ?, bytes total = 3924 367*c29d5175Schristos value ------------- Distribution ------------- count 368*c29d5175Schristos 8 | 0 369*c29d5175Schristos 16 |@@@@@@@@ 1 370*c29d5175Schristos 32 |@@@@@@@@ 1 371*c29d5175Schristos 64 | 0 372*c29d5175Schristos 128 | 0 373*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@ 2 374*c29d5175Schristos 512 | 0 375*c29d5175Schristos 1024 | 0 376*c29d5175Schristos 2048 |@@@@@@@@ 1 377*c29d5175Schristos 4096 | 0 378*c29d5175Schristos 379*c29d5175Schristos func_abc.py, func_a, bytes total = 5100 380*c29d5175Schristos value ------------- Distribution ------------- count 381*c29d5175Schristos 256 | 0 382*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@@@@@ 1 383*c29d5175Schristos 1024 | 0 384*c29d5175Schristos 2048 | 0 385*c29d5175Schristos 4096 |@@@@@@@@@@@@@@@@@@@@ 1 386*c29d5175Schristos 8192 | 0 387*c29d5175Schristos 388*c29d5175Schristos codecs.py, ?, bytes total = 5612 389*c29d5175Schristos value ------------- Distribution ------------- count 390*c29d5175Schristos 32 | 0 391*c29d5175Schristos 64 |@@@@@@ 1 392*c29d5175Schristos 128 |@@@@@@ 1 393*c29d5175Schristos 256 |@@@@@@@@@@@ 2 394*c29d5175Schristos 512 | 0 395*c29d5175Schristos 1024 |@@@@@@@@@@@@@@@@@ 3 396*c29d5175Schristos 2048 | 0 397*c29d5175Schristos 398*c29d5175Schristos aliases.py, ?, bytes total = 8064 399*c29d5175Schristos value ------------- Distribution ------------- count 400*c29d5175Schristos 128 | 0 401*c29d5175Schristos 256 |@@@@@@@@@@@@@ 1 402*c29d5175Schristos 512 | 0 403*c29d5175Schristos 1024 |@@@@@@@@@@@@@ 1 404*c29d5175Schristos 2048 | 0 405*c29d5175Schristos 4096 |@@@@@@@@@@@@@ 1 406*c29d5175Schristos 8192 | 0 407*c29d5175Schristos 408*c29d5175Schristos func_abc.py, ?, bytes total = 16105 409*c29d5175Schristos value ------------- Distribution ------------- count 410*c29d5175Schristos 2 | 0 411*c29d5175Schristos 4 |@@ 1 412*c29d5175Schristos 8 |@@@@@ 2 413*c29d5175Schristos 16 |@@@@@@@@@ 4 414*c29d5175Schristos 32 |@@@@@ 2 415*c29d5175Schristos 64 | 0 416*c29d5175Schristos 128 |@@ 1 417*c29d5175Schristos 256 |@@@@@@@ 3 418*c29d5175Schristos 512 |@@ 1 419*c29d5175Schristos 1024 |@@@@@ 2 420*c29d5175Schristos 2048 | 0 421*c29d5175Schristos 4096 | 0 422*c29d5175Schristos 8192 |@@ 1 423*c29d5175Schristos 16384 | 0 424*c29d5175Schristos 425*c29d5175Schristos os.py, ?, bytes total = 58957 426*c29d5175Schristos value ------------- Distribution ------------- count 427*c29d5175Schristos 2 | 0 428*c29d5175Schristos 4 |@@ 3 429*c29d5175Schristos 8 |@@@@@ 6 430*c29d5175Schristos 16 |@ 1 431*c29d5175Schristos 32 |@@ 2 432*c29d5175Schristos 64 | 0 433*c29d5175Schristos 128 |@ 1 434*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@ 23 435*c29d5175Schristos 512 |@@ 3 436*c29d5175Schristos 1024 |@@@@@ 7 437*c29d5175Schristos 2048 | 0 438*c29d5175Schristos 4096 |@@@ 4 439*c29d5175Schristos 8192 |@ 1 440*c29d5175Schristos 16384 | 0 441*c29d5175Schristos 442*c29d5175Schristos site.py, ?, bytes total = 62589 443*c29d5175Schristos value ------------- Distribution ------------- count 444*c29d5175Schristos 8 | 0 445*c29d5175Schristos 16 |@@@ 2 446*c29d5175Schristos 32 | 0 447*c29d5175Schristos 64 | 0 448*c29d5175Schristos 128 | 0 449*c29d5175Schristos 256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 20 450*c29d5175Schristos 512 |@ 1 451*c29d5175Schristos 1024 |@@@ 2 452*c29d5175Schristos 2048 |@ 1 453*c29d5175Schristos 4096 | 0 454*c29d5175Schristos 8192 | 0 455*c29d5175Schristos 16384 |@@@ 2 456*c29d5175Schristos 32768 | 0 457*c29d5175Schristos 458*c29d5175Schristos __init__.py, ?, bytes total = 62593 459*c29d5175Schristos value ------------- Distribution ------------- count 460*c29d5175Schristos 0 | 0 461*c29d5175Schristos 1 |@@ 1 462*c29d5175Schristos 2 | 0 463*c29d5175Schristos 4 | 0 464*c29d5175Schristos 8 | 0 465*c29d5175Schristos 16 |@@@ 2 466*c29d5175Schristos 32 |@@ 1 467*c29d5175Schristos 64 | 0 468*c29d5175Schristos 128 | 0 469*c29d5175Schristos 256 |@@@@@@@@@@@ 7 470*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@ 10 471*c29d5175Schristos 1024 |@@@ 2 472*c29d5175Schristos 2048 | 0 473*c29d5175Schristos 4096 | 0 474*c29d5175Schristos 8192 | 0 475*c29d5175Schristos 16384 |@@@ 2 476*c29d5175Schristos 32768 | 0 477*c29d5175Schristos 478*c29d5175Schristos posixpath.py, join, bytes total = 262144 479*c29d5175Schristos value ------------- Distribution ------------- count 480*c29d5175Schristos 131072 | 0 481*c29d5175Schristos 262144 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 482*c29d5175Schristos 524288 | 0 483*c29d5175Schristos 484*c29d5175Schristos os.py, _exists, bytes total = 362768 485*c29d5175Schristos value ------------- Distribution ------------- count 486*c29d5175Schristos 2 | 0 487*c29d5175Schristos 4 |@ 10 488*c29d5175Schristos 8 |@ 10 489*c29d5175Schristos 16 |@@ 20 490*c29d5175Schristos 32 | 0 491*c29d5175Schristos 64 | 0 492*c29d5175Schristos 128 | 0 493*c29d5175Schristos 256 |@ 7 494*c29d5175Schristos 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 447 495*c29d5175Schristos 1024 |@@ 20 496*c29d5175Schristos 2048 | 0 497*c29d5175Schristos 4096 |@ 10 498*c29d5175Schristos 8192 | 0 499*c29d5175Schristos 500*c29d5175Schristos 501*c29d5175SchristosThe results are divided into two sections. If a malloc() occurred while in a 502*c29d5175SchristosPython function, then that function is identified as responsible; and the 503*c29d5175Schristosresults will appear in the second section - Python malloc byte distributions 504*c29d5175Schristosby Python file and function. 505*c29d5175Schristos 506*c29d5175SchristosOtherwise the caller of malloc() is identified as responsible - which will be 507*c29d5175Schristosa function from the Python engine, and these are noted in the first section - 508*c29d5175SchristosPython malloc byte distributions by engine caller. 509