r5 - 28 Aug 2006 - 11:17:16 - TravisVachonYou are here: OSAF >  Journal Web  >  ContributorNotes > TravisVachonNotes > ChandlerPysizerExploration20060825
Brief thoughts on this data can be found at ChandlerPysizerConclusions20060825.

A similar run with rc --nocatch can be found at ChandlerPysizerExploration20060825Pt2

Initialization code is inserted just before wx.MainLoop:

travis@localhost:~/dev/osaf/sandbox/chandler-branches/pysizer-branch/chandler$ ./release/RunChandler --nocatch --create 
Chandler directory is /home/travis/dev/osaf/sandbox/chandler-branches/pysizer-branch/chandler
Using /home/travis/dev/osaf/sandbox/chandler-branches/pysizer-branch/chandler/release/bin/python -O /home/travis/dev/osaf/sandbox/chandler-branches/pysizer-branch/chandler/Chandler.py --nocatch --create --nosplash
Scanning..................................................................................................................................................................................................................................................................
Lifting..................................................................................................................................................................................................................................................................

(...)

>>> formatting.printsizesop(operations.bytype(objs), threshold = 1000)
    Size    Total Object
 9528064  9528064 <type 'dict'>
 4241894 13769958 <type 'str'>
 1281188 15051146 <type 'code'>
  927600 15978746 <type 'function'>
  791184 16769930 <type 'type'>
  576324 17346254 <type 'chandlerdb.util.c.CLink'>
  416412 17762666 <type 'tuple'>
  244860 18007526 <type 'chandlerdb.util.c.UUID'>
  197160 18204686 <class 'repository.persistence.DBRefs.DBRefList'>
  176688 18381374 <type 'builtin_function_or_method'>
  145880 18527254 <type 'unicode'>
  137136 18664390 <type 'int'>
  123100 18787490 <class 'repository.item.PersistentCollections.PersistentDict'>  
  120224 18907714 <class 'repository.item.Values.Values'>
  120224 19027938 <class 'repository.item.Values.References'>
  100412 19128350 <type 'list'>
   94552 19222902 <class 'application.schema.ItemClass'>
   79560 19302462 <type 'chandlerdb.schema.c.CDescriptor'>
   63360 19365822 <class 'repository.schema.Attribute.Attribute'>
   51752 19417574 <class 'repository.item.PersistentCollections.PersistentList'>   
   47000 19464574 <class 'application.schema.One'>
   39564 19504138 <type 'classobj'>
   35200 19539338 <type 'chandlerdb.schema.c.CAttribute'>
   31608 19570946 <class 'osaf.framework.blocks.MenusAndToolbars.MenuItem'>
   30480 19601426 <class 'repository.item.RefCollections.TransientRefList'>
   26784 19628210 <class 'repository.schema.Kind.Kind'>
   20432 19648642 <type 'chandlerdb.util.c.SingleRef'>
   18968 19667610 <type 'set'>
   18676 19686286 <type 'property'>
   18600 19704886 <class 'repository.persistence.DBRefs.DBChildren'>
   18528 19723414 <type 'weakref'>
   17928 19741342 <class 'repository.schema.Kind.Extent'>
   13896 19755238 <class 'osaf.framework.blocks.Block.BlockEvent'>
   13380 19768618 <class 'repository.schema.Kind.DelegateDescriptor'>
   13176 19781794 <type 'getset_descriptor'>
   12384 19794178 <class 'repository.schema.Cloud.Endpoint'>
   11872 19806050 <class 'application.schema.EnumerationClass'>
   11500 19817550 <class 'application.schema.Sequence'>
   10080 19827630 <type 'frame'>
    9552 19837182 <type 'module'>
    9216 19846398 <class 'osaf.framework.blocks.ControlBlocks.StaticText'>
    7620 19854018 <type 'chandlerdb.schema.c.CKind'>
    6704 19860722 <type 'cell'>
    6360 19867082 <class 'application.schema.CollectionClass'>
    6336 19873418 <class 'osaf.framework.certstore.certificate.Certificate'>
    6240 19879658 <type '_sre.SRE_Pattern'>
    6176 19885834 <type 'datetime.datetime'>
    6168 19892002 weakref.WeakKeyDictionary
    5832 19897834 <class 'repository.item.Monitors.Monitor'>
    5832 19903666 <class 'application.Parcel.Parcel'>
    5516 19909182 <type 'PySwigObject'>
    5400 19914582 <class 'wx._core.PyEventBinder'>
    5140 19919722 <class 'zope.interface.interface.Method'>
    4608 19924330 <class 'repository.schema.Cloud.Cloud'>
    4592 19928922 <type 'staticmethod'>
    4536 19933458 <class 'repository.item.Item.WatchSet'>
    4464 19937922 <class 'osaf.framework.blocks.MenusAndToolbars.Menu'>
    4116 19942038 <type 'PySwigObject'>
    4032 19946070 <type 'instancemethod'>
    4032 19950102 <class 'osaf.views.detail.detail.DetailSynchronizedAttributeEditorBlock'>
    3888 19953990 <class 'repository.item.Item.Item'>
    3816 19957806 <type 'member_descriptor'>
    3520 19961326 <class 'repository.persistence.DBLob.DBLob'>
    3312 19964638 <class 'repository.schema.Types.Enumeration'>
    3300 19967938 <class 'application.schema.AttributeAsEndpoint'>
    3120 19971058 <class 'osaf.pim.structs.SizeType'>
    3020 19974078 <class 'wx._core.MenuItem'>
    3020 19977098 <class 'osaf.framework.blocks.MenusAndToolbars.wxMenuItem'>
    2952 19980050 <class 'osaf.framework.attributeEditors.AttributeEditors.AttributeEditorMapping'>
    2884 19982934 <class 'osaf.pim.structs.RectType'>
    2736 19985670 <class 'osaf.framework.blocks.ControlBlocks.ContentItemDetail'>
    2544 19988214 <class 'application.schema.StructClass'>
    2520 19990734 <class 'random.Random'>
    2460 19993194 <type 'float'>
    2232 19995426 <class 'osaf.framework.blocks.MenusAndToolbars.ToolbarItem'>
    2232 19997658 <class 'repository.item.PersistentCollections.PersistentTuple'>
    2120 19999778 <class 'application.schema.AnnotationClass'>
    1944 20001722 <class 'osaf.framework.blocks.calendar.CalendarCanvas.VisibleHoursEvent'>
    1904 20003626 <type 'PySwigObject'>
    1804 20005430 <class 'twisted.python.components._implementsTuple'>
    1792 20007222 <type 'classmethod'>
    1660 20008882 <class 'zope.interface.declarations.Implements'>
    1560 20010442 <class 'zope.interface.declarations.ClassProvides'>
    1540 20011982 <type 'PySwigObject'>
    1540 20013522 <class 'twisted.python.components.MetaInterface'>
    1512 20015034 <class 'osaf.framework.blocks.ControlBlocks.PresentationStyle'>
    1500 20016534 <class 'application.schema.Mapping'>
    1440 20017974 application.schema.Cloud
    1296 20019270 <class 'osaf.framework.blocks.Block.ColorEvent'>
    1296 20020566 <class 'osaf.framework.blocks.ControlBlocks.Column'>
    1224 20021790 application.schema.ModuleMaker
    1176 20022966 logging.Logger
    1080 20024046 <class 'osaf.framework.blocks.Styles.CharacterStyle'>
    1080 20025126 <class 'repository.item.Item.WatchCollection'>
    1064 20026190 <type 'PySwigObject'>
    1008 20027198 <class 'osaf.framework.blocks.Block.KindParameterizedEvent'>
Ok, dicts appear to be the biggest users of memory in the system. Let's check them out.
>>> dicts = operations.filtertype(objs, dict)
>>> formatting.printsizesop(operations.bysize(dicts))
    Size    Total Object
 6456064  6456064 128
 1312396  7768460 236
  150540  7919000 260
  143888  8062888 272
   90552  8153440 308
   66464  8219904 248
   56800  8276704 284
   46112  8322816 524
   39960  8362776 296
   39824  8402600 39824
   39740  8442340 39740
   38360  8480700 38360
   31680  8512380 320
   27920  8540300 27920
   27456  8567756 572
   27224  8594980 332
   27176  8622156 344
   24640  8646796 560
   23040  8669836 512
   22000  8691836 440
   20440  8712276 584
   20140  8732416 380
   20116  8752532 428
   19520  8772052 488
   18988  8791040 404
   18868  8809908 356
   18632  8828540 548
   18032  8846572 368
   17888  8864460 416
   17500  8881960 500
   16592  8898552 16592
   16220  8914772 16220
   16148  8930920 16148
   15200  8946120 608
   14464  8960584 452
   14384  8974968 464
   14288  8989256 752
   14112  9003368 392
   13880  9017248 13880
   12864  9030112 536
   11864  9041976 11864
   11324  9053300 11324
   10984  9064284 5492
   10888  9075172 5444
   10864  9086036 776
   10728  9096764 596
   10688  9107452 668
    8624  9116076 8624
    8612  9124688 8612
    8216  9132904 632
    8152  9141056 4076
    8092  9149148 476
    7744  9156892 704
    7580  9164472 7580
    7280  9171752 728
    7208  9178960 7208
    7172  9186132 7172
    7084  9193216 644
    6820  9200036 620
    6800  9206836 680
    6668  9213504 6668
    6444  9219948 716
    6272  9226220 896
    6200  9232420 6200
    6152  9238572 6152
    6112  9244684 764
    6036  9250720 2012
    5952  9256672 992
    5768  9262440 824
    5620  9268060 1124
    5600  9273660 800
    5500  9279160 1100
    5248  9284408 656
    5072  9289480 5072
    4936  9294416 2468
    4844  9299260 692
    4728  9303988 788
    4624  9308612 2312
    4540  9313152 908
    4432  9317584 2216
    4240  9321824 848
    4180  9326004 836
    4088  9330092 4088
    4040  9334132 4040
    3976  9338108 1988
    3928  9342036 1964
    3804  9345840 1268
    3776  9349616 944
    3760  9353376 1880
    3700  9357076 740
    3656  9360732 3656
    3464  9364196 3464
    3408  9367604 1136
    3392  9370996 3392
    3264  9374260 1088
    3192  9377452 1064
    3092  9380544 3092
    3088  9383632 1544
    3084  9386716 1028
    3048  9389764 1016
    3020  9392784 3020
    2972  9395756 2972
    2924  9398680 2924
    2888  9401568 2888
    2852  9404420 2852
    2804  9407224 2804
    2796  9410020 932
    2768  9412788 2768
    2728  9415516 1364
    2680  9418196 1340
    2652  9420848 884
    2632  9423480 1316
    2612  9426092 2612
    2608  9428700 1304
    2588  9431288 2588
    2584  9433872 1292
    2564  9436436 2564
    2528  9438964 2528
    2464  9441428 1232
    2420  9443848 2420
    2384  9446232 2384
    2368  9448600 1184
    2348  9450948 2348
    2320  9453268 1160
    2296  9455564 1148
    2276  9457840 2276
    2224  9460064 1112
    2192  9462256 2192
    2152  9464408 1076
    2108  9466516 2108
    2084  9468600 2084
    2036  9470636 2036
    2024  9472660 2024
    1952  9474612 1952
    1940  9476552 1940
    1928  9478480 1928
    1916  9480396 1916
    1912  9482308 956
    1868  9484176 1868
    1840  9486016 920
    1820  9487836 1820
    1784  9489620 1784
    1772  9491392 1772
    1736  9493128 1736
    1724  9494852 1724
    1700  9496552 1700
    1688  9498240 1688
    1664  9499904 1664
    1628  9501532 1628
    1624  9503156 812
    1604  9504760 1604
    1592  9506352 1592
    1568  9507920 1568
    1556  9509476 1556
    1520  9510996 1520
    1460  9512456 1460
    1412  9513868 1412
    1400  9515268 1400
    1376  9516644 1376
    1352  9517996 1352
    1328  9519324 1328
    1280  9520604 1280
    1220  9521824 1220
    1196  9523020 1196
    1172  9524192 1172
    1040  9525232 1040
    1004  9526236 1004
     968  9527204 968
     860  9528064 860
>>> dicts_128 = operations.filtersize(dicts, 128)

The biggest chunk of dicts are 128 byte dicts. Furthermore, from dicts_128.txt we can see that many of them are empty! A quick grep shows that there are 20854 empty dicts. This means empty dicts are using 2669312 bytes of memory. Let's find out where they're being created.
>>> empty_dicts = {}
>>> for key in dicts_128:
...     if dicts_128[key].obj == {}:
...             empty_dicts[key] = dicts_128[key]
...
>>> empty_dicts_creators = annotate.findcreators(empty_dicts)
>>> formatting.printsizes(empty_dicts_creators.back, count=10000)
    Size    Total Object
  940800   940800 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRepositoryView.py:147
  690432  1631232 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRefs.py:32
  164352  1795584 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRepositoryView.py:149
  135040  1930624 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/Item.py:72
  105984  2036608 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/Item.py:1315
   88960  2125568 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBItemIO.py:890
   86144  2211712 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/Item.py:73
   82432  2294144 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBItemIO.py:891
   47360  2341504 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/application/schema.py:211
   46976  2388480 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:48
   45184  2433664 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:49
   45056  2478720 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/interface.py:61
   26240  2504960 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/interface.py:888
   25728  2530688 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:50
   25728  2556416 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:51
   24576  2580992 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/ItemHandler.py:484
   19968  2600960 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/weakref.py:207
   19072  2620032 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRepositoryView.py:153
    9856  2629888 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/python/components.py:266
    5632  2635520 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:677
    3328  2638848 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/schema/Kind.py:676
    2048  2640896 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/RepositoryView.py:86
    2048  2642944 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/ItemHandler.py:486
    1280  2644224 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/Block.py:184
    1152  2645376 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/RepositoryView.py:144
    1152  2646528 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/RepositoryView.py:143
    1152  2647680 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/RepositoryView.py:142
    1024  2648704 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRepositoryView.py:41
     512  2649216 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/application/schema.py:1412
     512  2649728 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/startup.py:243
     512  2650240 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRefs.py:417
     384  2650624 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/resource.py:71
     384  2651008 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/PersistentCollections.py:648
     384  2651392 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/startup.py:341
     384  2651776 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/mail/mailservice.py:77
     384  2652160 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/setuptools-0.6b3-py2.4.egg/pkg_resources.py:1909
     384  2652544 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:128
     256  2652800 ./release/lib/python2.4/UserDict.py:5
     256  2653056 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/interface.py:416
     256  2653312 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/calendar/CalendarCanvas.py:908
     256  2653568 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/Item.py:314
     128  2653696 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/threading.py:376
     128  2653824 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/httplib.py:800
     128  2653952 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/util/GenerateItemsFromFile.py:38
     128  2654080 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/persisted/styles.py:136
     128  2654208 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:265
     128  2654336 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/projects/Chandler-AmazonPlugin/amazon/AmazonKinds.py:363
     128  2654464 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/application/Parcel.py:252
     128  2654592 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/setuptools-0.6b3-py2.4.egg/pkg_resources.py:1601
     128  2654720 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/pickle.py:811
     128  2654848 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/process.py:38
     128  2654976 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/certstore/ssl.py:167
     128  2655104 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/spread/jelly.py:826
     128  2655232 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/vobject/behavior.py:45
     128  2655360 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/spread/jelly.py:888
     128  2655488 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/elementtree/ElementTree.py:444
     128  2655616 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/dateutil/parser.py:871
     128  2655744 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/sharing/conduits.py:26
     128  2655872 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/cgi.py:360
     128  2656000 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/elementtree/ElementTree.py:463
     128  2656128 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:251
     128  2656256 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/urllib2.py:179
     128  2656384 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/util/feedparser.py:350
     128  2656512 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:591
     128  2656640 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/ControlBlocks.py:877
     128  2656768 <interpreter>:0
     128  2656896 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/persisted/styles.py:137
     128  2657024 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:121
     128  2657152 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/sax/__init__.py:35
     128  2657280 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/sax/saxutils.py:30
     128  2657408 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/cred/service.py:34
     128  2657536 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/views/main/SideBar.py:725
     128  2657664 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/projects/EggTranslations-Plugin/egg_translations.py:132
     128  2657792 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/calendar/AllDayCanvas.py:38
     128  2657920 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/gopherlib.py:40
     128  2658048 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/pim/mail.py:311
     128  2658176 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/warnings.py:22
     128  2658304 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:261
     128  2658432 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/sax/__init__.py:29
     128  2658560 ./release/lib/python2.4/copy_reg.py:139
     128  2658688 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/gettext.py:446
     128  2658816 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/dom/domreg.py:19
     128  2658944 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:646
     128  2659072 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/ConfigParser.py:206
     128  2659200 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/interfaces.py:16
     128  2659328 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/setuptools-0.6b3-py2.4.egg/pkg_resources.py:785
     128  2659456 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/elementtree/SimpleXMLWriter.py:196
     128  2659584 ./release/lib/python2.4/copy_reg.py:140
     128  2659712 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/cgi.py:358
     128  2659840 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/spread/jelly.py:827
     128  2659968 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/spread/jelly.py:141
     128  2660096 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/python/log.py:174
     128  2660224 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/asyncore.py:62
     128  2660352 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/threading.py:622
     128  2660480 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/cred/credentials.py:14
     128  2660608 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/pim/mail.py:547
     128  2660736 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/sharing/Sharing.py:592
     128  2660864 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/python/runtime.py:80
     128  2660992 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:281
     128  2661120 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/tcp.py:268
     128  2661248 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/wx/_misc.py:5371
     128  2661376 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/BranchPoint.py:222
     128  2661504 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/views/main/SideBar.py:1055
     128  2661632 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:218
     128  2661760 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/selectreactor.py:32
     128  2661888 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/urlparse.py:36
     128  2662016 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:184
     128  2662144 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/DrawingUtilities.py:240
     128  2662272 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/sax/saxutils.py:60
     128  2662400 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/gettext.py:488
     128  2662528 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/persistence/DBRepository.py:72
     128  2662656 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:90
     128  2662784 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/ContainerBlocks.py:465
     128  2662912 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/application/Parcel.py:250
     128  2663040 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:645
     128  2663168 ./release/lib/python2.4/copy_reg.py:141
     128  2663296 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/gettext.py:486
     128  2663424 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/posixbase.py:259
     128  2663552 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/calendar/CalendarCanvas.py:213
     128  2663680 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/inspect.py:366
     128  2663808 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/cred/credentials.py:142
     128  2663936 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/dom/minidom.py:1483
     128  2664064 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/threading.py:592
     128  2664192 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/threading.py:362
     128  2664320 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/elementtree/ElementPath.py:164
     128  2664448 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/urllib.py:1084
     128  2664576 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/static.py:180
     128  2664704 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:264
     128  2664832 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/python/threadpool.py:24
     128  2664960 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/pim/mail.py:544
     128  2665088 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/urllib.py:100
     128  2665216 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/persisted/styles.py:30
     128  2665344 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/repository/item/Monitors.py:111
     128  2665472 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/dateutil/rrule.py:1088
     128  2665600 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/projects/Chandler-PhotoPlugin/photos/Photos.py:37
     128  2665728 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/calendar/minical.py:130
     128  2665856 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/interfaces.py:348
     128  2665984 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/cgi.py:361
     128  2666112 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/projects/EggTranslations-Plugin/egg_translations.py:1156
     128  2666240 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/sharing/ICalendar.py:257
     128  2666368 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/sizer/sizes.py:10
     128  2666496 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/logging/__init__.py:1342
     128  2666624 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:118
     128  2666752 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/framework/blocks/DrawingUtilities.py:241
     128  2666880 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/views/main/SideBar.py:1054
     128  2667008 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:89
     128  2667136 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:439
     128  2667264 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/base.py:584
     128  2667392 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zope/interface/adapter.py:167
     128  2667520 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/setuptools-0.6b3-py2.4.egg/pkg_resources.py:1185
     128  2667648 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/cred/credentials.py:73
     128  2667776 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zanshin/http.py:1027
     128  2667904 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/xml/sax/saxutils.py:46
     128  2668032 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:300
     128  2668160 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/zanshin/webdav.py:1129
     128  2668288 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/web/microdom.py:324
     128  2668416 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/cred/credentials.py:169
     128  2668544 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/parcels/osaf/sharing/__init__.py:222
     128  2668672 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/spread/jelly.py:898
     128  2668800 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/twisted/internet/interfaces.py:720
     128  2668928 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/dateutil/parser.py:192
     128  2669056 /home/travis/dev/osaf-sandbox/chandler-branches/pysizer-branch/chandler/release/lib/python2.4/site-packages/elementtree/SimpleXMLWriter.py:269


Trolling the code, it looks like these empty dicts are being created in chandler/repository/persistence/DBRefs.py:32. Can we make this dictionary creation lazy, so that empty dicts are not kept in memory? I think so, though it make take some metaclass programming.

Consult w/ list.

toggleopenShow attachmentstogglecloseHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
elseEXT patch manage 13.4 K 24 Aug 2006 - 13:27 TravisVachon pysizer patches to Python
txttxt dicts_128.txt manage 2234.2 K 25 Aug 2006 - 12:16 TravisVachon list of all 128byte dicts
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.