[Dev] Chandler Startup time...

Dave Smith dizzyd at jabber.org
Thu May 20 21:02:24 PDT 2004


Greetings,

I decided to grab the latest Chandler (0.3) the other day to see how 
far it's come since I last checked on it. One thing I noticed right off 
was the _looong_ time it took to startup. Now, I know it's not a 
release version, but it seems even a high-powered, platform-to-be, 
email-plus-oh-so-much-more application shouldn't take more than 20-30 
secs to startup (in my case it took 2+ mins to get going).

So, for what it's worth, I ran Chandler through a profiler and grabbed 
the top 50 hotspots. It seems like there is a lot of stuff happening in 
the repository (which I guess is the data store). Maybe this profile 
run will be informative to the committers. :)

D.
-------------- next part --------------
Loading stats...
Thu May 20 21:13:02 2004    chandler.stats.old

         1817719 function calls (1786998 primitive calls) in 133.924 CPU seconds

   Ordered by: internal time, call count
   List reduced from 2062 to 50 due to restriction <50>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1   14.657   14.657   14.657   14.657 /lib/python2.3/threading.py:195(wait)
    62472   10.227    0.000   19.326    0.000 /chandler/repository/item/Item.py:412(getAttributeValue)
      809    5.094    0.006    5.094    0.006 /lib/python2.3/site-packages/dbxml.py:82(putDocument)
    84218    4.395    0.000    4.395    0.000 /chandler/repository/item/Item.py:1897(_countAccess)
     6180    4.232    0.001    4.705    0.001 /chandler/repository/persistence/DBContainer.py:57(put)
     8819    3.509    0.000   10.755    0.001 /chandler/repository/persistence/DBContainer.py:444(readName)
   107060    3.359    0.000   13.221    0.000 /chandler/repository/item/Item.py:135(__setattr__)
     4355    3.140    0.001    3.140    0.001 /chandler/repository/persistence/DBContainer.py:91(_packKey)
        1    2.938    2.938   24.429   24.429 /lib/python2.3/site-packages/wx/core.py:4579(MainLoop)
    25463    2.602    0.000    7.174    0.000 /chandler/repository/item/ItemRef.py:654(get)
    69056    2.547    0.000    3.380    0.000 /chandler/repository/util/ThreadLocal.py:39(_getCurrentThreadLocals)
    10509    2.532    0.000    2.956    0.000 /chandler/repository/persistence/DBContainer.py:72(cursor)
    50136    2.529    0.000    2.529    0.000 /chandler/repository/item/Item.py:1003(hasAttributeValue)
    36458    2.417    0.000    5.532    0.000 /chandler/repository/item/Item.py:1483(getItemChild)
    61914    2.382    0.000    6.925    0.000 /chandler/repository/util/LinkedMap.py:203(get)
        1    2.252    2.252    4.032    4.032 /chandler/repository/persistence/XMLRepository.py:57(_create)
    10701    2.153    0.000    2.153    0.000 /chandler/repository/util/SAX.py:74(startElement)
    45635    1.978    0.000    3.684    0.000 /chandler/repository/persistence/XMLRepository.py:509(_getTxn)
    54219    1.751    0.000    1.942    0.000 /chandler/repository/item/ItemRef.py:34(getItem)
    89978    1.693    0.000    1.693    0.000 /chandler/repository/item/Item.py:1804(_loadItem)
    27875    1.674    0.000   19.873    0.001 /chandler/repository/schema/Kind.py:71(resolve)
    18976    1.670    0.000   12.309    0.001 /chandler/repository/schema/Attribute.py:28(getAspect)
        8    1.521    0.190    1.521    0.190 /chandler/repository/persistence/DBContainer.py:44(close)
    17578    1.295    0.000    2.789    0.000 /chandler/repository/persistence/XMLRepository.py:517(_setTxn)
    18854    1.268    0.000   11.921    0.001 /chandler/repository/item/Item.py:125(__getattr__)
     3599    1.236    0.000    9.510    0.003 /chandler/repository/parcel/ParcelLoader.py:152(endElementNS)
     2872    1.210    0.000   11.443    0.004 /chandler/repository/item/Item.py:295(setAttributeValue)
        1    1.209    1.209    1.210    1.210 /lib/python2.3/site-packages/wx/controls.py:4359(SelectItem)
      809    1.206    0.001   14.520    0.018 /chandler/repository/item/Item.py:1837(_xmlAttrs)
    17583    1.174    0.000    1.495    0.000 /chandler/repository/util/ThreadLocal.py:28(__setattr__)
     6367    1.171    0.000    1.171    0.000 /chandler/repository/util/SAX.py:96(characters)
       13    1.164    0.090    1.168    0.090 /lib/python2.3/site-packages/dbxml.py:90(queryWithXPath)
        4    1.109    0.277    1.109    0.277 /lib/python2.3/site-packages/wx/core.py:7548(Append)
        1    1.098    1.098    1.098    1.098 /lib/python2.3/site-packages/PyLucene.py:175(__init__)
      643    1.096    0.002   20.985    0.033 /chandler/repository/parcel/ParcelLoader.py:341(addReferences)
     9372    1.060    0.000    1.060    0.000 /chandler/repository/persistence/Repository.py:334(<lambda>)
     1533    1.043    0.001    2.012    0.001 /chandler/repository/item/Item.py:178(_otherName)
      314    1.040    0.003    1.040    0.003 /lib/python2.3/site-packages/wx/core.py:3017(GetId)
     4784    1.029    0.000    1.053    0.000 /lib/python2.3/sre_parse.py:200(match)
        1    1.025    1.025    1.025    1.025 /lib/python2.3/site-packages/wx/html.py:966(LoadPage)
        1    1.022    1.022    1.544    1.544 /lib/python2.3/site-packages/_xmlplus/sax/expatreader.py:4(?)
      280    1.018    0.004    1.018    0.004 /chandler/repository/util/Path.py:28(__repr__)
      139    1.012    0.007    1.014    0.007 /lib/python2.3/posixpath.py:159(islink)
        1    1.006    1.006    1.030    1.030 /chandler/parcels/osaf/framework/utils/imports/Importer.py:1(?)
        1    1.001    1.001    1.002    1.002 /lib/python2.3/site-packages/_xmlplus/dom/DOMImplementation.py:11(?)
    72176    0.862    0.000    0.862    0.000 /lib/python2.3/threading.py:609(currentThread)
    25847    0.834    0.000   29.905    0.001 /chandler/repository/schema/Kind.py:82(getAttribute)
     8771    0.777    0.000    2.995    0.000 /chandler/repository/persistence/XMLRepository.py:496(abortTransaction)
    18690    0.751    0.000    4.898    0.000 /chandler/repository/item/Item.py:1099(setDirty)
    25463    0.742    0.000   11.964    0.000 /chandler/repository/item/Item.py:738(getValue)




More information about the Dev mailing list