There is a script in parcels/osaf/tests called xTestReloadPerformance.py and also a dump file named office.dump. You can run the script to generate profile data by cd'ing to the chandler directory and running:
RunPython? tools/rt.py -m release xTestReloadPerformance
This will generate a file named reload_perf.log in the chandler directory. You can view the profile stats by running:
RunPython? tools/print_profile_stats.py reload_perf.log
This also generates a reload_perf.stats file. You can pass the .stats file name to print_profile_stats.py and it will use that data instead of parsing the .log file.
A hotshot profile of reloading ~4000 EIM records results in:
*
reload_perf.stats: hotshot.stats file
2362968 function calls (2155724 primitive calls) in 32.875 CPU seconds
Ordered by: cumulative time
List reduced from 1388 to 50 due to restriction <50>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.360 0.360 32.875 32.875 dumpreload.py:148(reload)
3704 0.057 0.000 29.316 0.008 eim.py:813(importRecord)
12270/9209 0.432 0.000 20.252 0.002 defer.py:306(_runCallbacks)
11596/9189 0.066 0.000 19.996 0.002 defer.py:185(addCallback)
11607/9199 0.107 0.000 19.942 0.002 defer.py:168(addCallbacks)
6755/4171 0.126 0.000 16.370 0.004 translator.py:422(withItemForUUID)
27362/20799 1.133 0.000 15.883 0.001 Item.py:169(setAttributeValue)
628 0.046 0.000 15.358 0.024 translator.py:1050(import_event)
6103/4823 0.376 0.000 14.147 0.003 eim.py:862(withItemForUUID)
1280 0.037 0.000 8.842 0.007 eim.py:878(add_stamp)
5522/5335 0.299 0.000 7.541 0.001 Values.py:393(_setValue)
13325 0.746 0.000 6.754 0.001 Monitors.py:206(__call__)
6552 0.127 0.000 6.567 0.001 eim.py:865(setattrs)
2668/2479 0.058 0.000 5.654 0.002 RefCollections.py:259(append)
63216 0.594 0.000 5.588 0.000 Indexes.py:890(compare)
628 0.057 0.000 5.508 0.009 translator.py:1077(do)
63216 0.539 0.000 4.994 0.000 Calendar.py:2365(compare)
702 0.146 0.000 4.260 0.006 translator.py:437(import_item)
39432/35494 0.325 0.000 4.166 0.000 schema.py:1481(itemFor)
9228/9006 0.503 0.000 4.081 0.000 Indexes.py:430(moveKey)
628 0.011 0.000 4.064 0.006 Calendar.py:587(add)
628 0.083 0.000 4.040 0.006 stamping.py:109(add)
9783/9501 0.123 0.000 3.985 0.000 schema.py:1181(wrappedMethod)
6856/4849 0.169 0.000 3.626 0.001 Sets.py:367(_collectionChanged)
1525/1345 0.009 0.000 3.611 0.003 RefCollections.py:243(add)
8534/5180 0.256 0.000 3.537 0.001 Collection.py:48(_collectionChanged)
8997/2890 0.342 0.000 3.532 0.001 Item.py:2275(__call__)
7143/3965 0.167 0.000 3.390 0.001 Calendar.py:2439(__setattr__)
2739/2503 0.049 0.000 3.305 0.001 schema.py:1443(parcel_for_module)
5289/2821 0.097 0.000 3.300 0.001 schema.py:1268(__getattr__)
33/26 0.004 0.000 3.048 0.117 schema.py:1424(_init_schema_item)
889 0.011 0.000 2.960 0.003 Collection.py:80(add)
5479/2164 0.069 0.000 2.793 0.001 Sets.py:1554(sourceChanged)
176/112 0.032 0.000 2.672 0.024 schema.py:530(_init_schema_item)
652 0.012 0.000 2.600 0.004 translator.py:402(withRealUUID)
33 0.004 0.000 2.546 0.077 schema.py:1467(synchronize)
554/320 0.076 0.000 2.515 0.008 schema.py:261(_init_schema_item)
101 0.008 0.000 2.225 0.022 Calendar.py:1393(_grabOccurrences)
1 0.000 0.000 2.201 2.201 translator.py:2269(import_preftimezones)
1 0.000 0.000 2.200 2.200 TimeZone.py:185(onShowUIChanged)
652 0.012 0.000 2.102 0.003 translator.py:428(get_occurence)
1371/1358 0.098 0.000 2.080 0.002 schema.py:644(__init__)
219 0.024 0.000 2.066 0.009 Calendar.py:1907(updateTriageStatus)
3394 0.272 0.000 2.031 0.001 Indexes.py:417(insertKey)
63216 2.000 0.000 2.000 0.000 items.py:66(cmpTimeAttribute)
8351 0.443 0.000 1.931 0.000 Monitors.py:266(__call__)
66/54 0.000 0.000 1.930 0.036 schema.py:1375(getParent)
5486 0.084 0.000 1.888 0.000 defer.py:229(callback)
622 0.043 0.000 1.857 0.003 Calendar.py:1116(_generateRule)
5486 0.047 0.000 1.804 0.000 defer.py:283(_startRunCallbacks)
Ordered by: cumulative time
List reduced from 1388 to 50 due to restriction <50>
Function was called by...
dumpreload.py:148(reload) <- profile:0(profiler)(1) 0.000
eim.py:813(importRecord) <- dumpreload.py:148(reload)(3704) 32.875
defer.py:306(_runCallbacks) <- defer.py:168(addCallbacks)(6784) 19.942
defer.py:283(_startRunCallbacks)(5486) 1.804
defer.py:185(addCallback) <- eim.py:862(withItemForUUID)(6103) 14.147
translator.py:402(withRealUUID)(652) 2.600
translator.py:422(withItemForUUID)(652) 16.370
translator.py:428(get_occurence)(652) 2.102
translator.py:437(import_item)(702) 4.260
translator.py:581(import_modifiedBy)(702) 1.213
translator.py:1050(import_event)(628) 15.358
translator.py:1329(import_collection)(1) 0.280
translator.py:1387(import_collectionmembership)(466) 1.116
translator.py:1396(do)(466) 0.979
translator.py:1657(import_sharing_state)(559) 1.095
translator.py:1811(import_sharing_account)(1) 0.003
translator.py:1814(do)(1) 0.000
translator.py:1888(import_sharing_prefs)(1) 0.003
translator.py:1926(import_mail_account)(2) 0.003
translator.py:1967(import_smtp_account)(1) 0.112
translator.py:1969(do)(1) 0.002
translator.py:2038(import_imap_account)(1) 0.191
translator.py:2040(do)(1) 0.187
translator.py:2099(import_imap_account_folders)(1) 0.001
translator.py:2101(do)(1) 0.000
translator.py:2108(import_imap_folder)(2) 0.003
defer.py:168(addCallbacks) <- defer.py:185(addCallback)(11596) 19.996
defer.py:202(addBoth)(11) 0.001
translator.py:422(withItemForUUID) <- eim.py:862(withItemForUUID)(1280) 14.147
translator.py:402(withRealUUID)(652) 2.600
translator.py:428(get_occurence)(652) 2.102
translator.py:437(import_item)(702) 4.260
translator.py:581(import_modifiedBy)(702) 1.213
translator.py:626(import_note)(628) 1.617
translator.py:700(import_password)(4) 0.002
translator.py:718(import_password_prefs)(1) 0.008
translator.py:1050(import_event)(628) 15.358
translator.py:1329(import_collection)(1) 0.280
translator.py:1387(import_collectionmembership)(466) 1.116
translator.py:1396(do)(466) 0.979
translator.py:1657(import_sharing_state)(559) 1.095
translator.py:1811(import_sharing_account)(1) 0.003
translator.py:1814(do)(1) 0.000
translator.py:1850(import_sharing_webdav_account)(1) 0.001
translator.py:1888(import_sharing_prefs)(1) 0.003
translator.py:1926(import_mail_account)(2) 0.003
translator.py:1967(import_smtp_account)(1) 0.112
translator.py:1969(do)(1) 0.002
translator.py:2038(import_imap_account)(1) 0.191
translator.py:2040(do)(1) 0.187
translator.py:2099(import_imap_account_folders)(1) 0.001
translator.py:2101(do)(1) 0.000
translator.py:2108(import_imap_folder)(2) 0.003
Item.py:169(setAttributeValue) <- Calendar.py:353(getLocation)(58) 0.152
Calendar.py:871(updateRecurrenceEnd)(44) 0.053
Calendar.py:1452(changeThisAndFuture)(295) 1.352
Calendar.py:2439(__setattr__)(4442) 3.390
Item.py:124(_setInitialValues)(1168) 0.332
Item.py:2256(__init__)(91) 0.069
Item.py:2270(__init__)(73) 0.058
Item.py:2289(__init__)(17) 0.012
Item.py:2330(__init__)(1) 0.003
ItemHandler.py:533(itemEnd)(1) 0.002
Monitors.py:102(_attach)(654) 0.099
PackHandler.py:101(packEnd)(1) 0.001
Parcel.py:266(__setup__)(2) 0.000
Recurrence.py:318(setRuleFromDateUtil)(216) 0.015
TimeZone.py:28(reindexFloatingEvents)(28) 1.403
TimeZone.py:185(onShowUIChanged)(1) 2.200
TimeZone.py:483(convertFloatingEvents)(333) 0.797
__init__.py:101(installParcel)(1) 0.045
__init__.py:186(installParcel)(2) 0.454
collections.py:379(__setup__)(6) 0.010
collections.py:504(_sourcesChanged_)(1) 0.003
collections.py:537(_sourcesChanged_)(4) 0.020
collections.py:603(_sourcesChanged_)(2) 0.007
collections.py:644(_sourcesChanged_)(12) 0.080
collections.py:715(_setExclusions)(1) 0.005
collections.py:740(_setTrash)(6) 0.024
collections.py:847(_updateCollection)(12) 0.069
eim.py:862(withItemForUUID)(440) 14.147
eim.py:865(setattrs)(4902) 6.567
items.py:384(changeEditState)(539) 0.129
items.py:471(_updateCommonAttribute)(3692) 1.489
mail.py:672(_recalculateMeEmailAddresses)(4) 0.337
password.py:165(encryptPassword)(6) 0.043
schema.py:261(_init_schema_item)(2124) 2.515
schema.py:530(_init_schema_item)(199) 2.672
schema.py:572(update)(68) 0.322
schema.py:644(__init__)(1475) 2.080
schema.py:770(_init_schema_item)(19) 0.685
schema.py:903(_init_schema_item)(12) 0.002
schema.py:1481(itemFor)(121) 4.166
stamping.py:37(stampedItems)(3) 0.021
stamping.py:109(add)(1860) 4.040
translator.py:406(get_occurrence)(30) 1.507
translator.py:454(do)(1617) 0.113
translator.py:584(do)(1617) 0.793
translator.py:1077(do)(1115) 5.508
translator.py:1331(add_source)(1) 0.270
translator.py:1814(do)(1) 0.000
translator.py:1825(do_password)(1) 0.000
translator.py:1892(set_current)(1) 0.003
translator.py:1969(do)(2) 0.002
translator.py:1972(do_password)(1) 0.000
translator.py:2040(do)(4) 0.187
translator.py:2048(do_password)(1) 0.000
translator.py:2252(import_prefcalendarhourheight)(2) 1.793
translator.py:2269(import_preftimezones)(3) 2.201
usercollections.py:33(nextColor)(2) 0.000
usercollections.py:64(ensureColor)(2) 0.000
usercollections.py:72(setValues)(26) 0.001
translator.py:1050(import_event) <- eim.py:813(importRecord)(628) 29.316
eim.py:862(withItemForUUID) <- translator.py:422(withItemForUUID)(6103) 16.370
eim.py:878(add_stamp) <- defer.py:306(_runCallbacks)(1280) 20.252
Values.py:393(_setValue) <- Item.py:169(setAttributeValue)(2914) 15.883
ItemHandler.py:52(_setValue)(5) 0.001
Kind.py:75(_createExtent)(176) 0.073
Kind.py:698(getInitialValues)(12) 0.239
RefCollections.py:259(append)(2415) 5.654
Monitors.py:206(__call__) <- Item.py:169(setAttributeValue)(13309) 15.883
Item.py:481(removeAttributeValue)(16) 0.059
eim.py:865(setattrs) <- defer.py:306(_runCallbacks)(4823) 20.252
eim.py:862(withItemForUUID)(449) 14.147
eim.py:878(add_stamp)(1280) 8.842
RefCollections.py:259(append) <- RefCollections.py:228(extend)(242) 0.073
RefCollections.py:243(add)(1525) 3.611
RefCollections.py:833(add)(55) 0.020
RefCollections.py:837(set)(36) 0.014
Types.py:86(__init__)(30) 0.020
collections.py:449(addSource)(2) 0.022
collections.py:470(_setSource)(12) 0.002
mail.py:1069(__setup__)(2) 0.005
schema.py:261(_init_schema_item)(69) 2.515
schema.py:374(make_endpoint)(153) 0.109
schema.py:455(make_cloud)(52) 0.154
schema.py:530(_init_schema_item)(489) 2.672
translator.py:2103(do)(1) 0.000
Indexes.py:890(compare) <- Indexes.py:417(insertKey)(13551) 2.031
Indexes.py:430(moveKey)(35835) 4.081
Indexes.py:463(moveKeys)(13830) 1.554
translator.py:1077(do) <- defer.py:306(_runCallbacks)(628) 20.252
Calendar.py:2365(compare) <- Indexes.py:890(compare)(63216) 5.588
translator.py:437(import_item) <- eim.py:813(importRecord)(702) 29.316
schema.py:1481(itemFor) <- schema.py:252(_create_schema_item)(554) 0.233
schema.py:261(_init_schema_item)(1291) 2.515
schema.py:374(make_endpoint)(153) 0.109
schema.py:455(make_cloud)(52) 0.154
schema.py:524(_create_schema_item)(176) 0.265
schema.py:530(_init_schema_item)(705) 2.672
schema.py:688(getDefaultParent)(1434) 0.042
schema.py:694(getKind)(2023) 0.721
schema.py:699(iterItems)(25) 0.001
schema.py:770(_init_schema_item)(99) 0.685
schema.py:820(__init__)(31742) 1.353
schema.py:897(_create_schema_item)(6) 0.003
schema.py:1024(_create_schema_item)(24) 0.019
schema.py:1375(getParent)(1) 1.930
schema.py:1424(_init_schema_item)(33) 3.048
schema.py:1443(parcel_for_module)(155) 3.305
schema.py:1467(synchronize)(328) 2.546
stamping.py:81(getCollection)(3) 0.004
stamping.py:109(add)(628) 4.040
Indexes.py:430(moveKey) <- Indexes.py:430(moveKey)(222) 4.081
Monitors.py:206(__call__)(9006) 6.754
Calendar.py:587(add) <- Calendar.py:1723(changeThis)(163) 1.687
eim.py:878(add_stamp)(465) 8.842
stamping.py:109(add) <- Calendar.py:587(add)(628) 4.064
schema.py:1181(wrappedMethod) <- Item.py:169(setAttributeValue)(8113) 15.883
Item.py:481(removeAttributeValue)(4) 0.059
Values.py:393(_setValue)(1554) 7.541
triage.py:111(setTriageStatus)(112) 0.364
Sets.py:367(_collectionChanged) <- Sets.py:800(sourceChanged)(662) 0.564
Sets.py:1404(sourceChanged)(1565) 0.511
Sets.py:1554(sourceChanged)(2670) 2.793
Sets.py:1583(itemChanged)(1959) 1.248
RefCollections.py:243(add) <- Collection.py:80(add)(889) 2.960
collections.py:789(add)(636) 0.693
Collection.py:48(_collectionChanged) <- Item.py:124(_setInitialValues)(62) 0.332
RefCollections.py:453(_removeRef)(72) 0.053
Sets.py:367(_collectionChanged)(6856) 3.626
Values.py:393(_setValue)(1543) 7.541
Values.py:464(_setRef)(1) 0.785
Item.py:2275(__call__) <- Collection.py:48(_collectionChanged)(7432) 3.537
Kind.py:1024(_collectionChanged)(1565) 0.847
Calendar.py:2439(__setattr__) <- Calendar.py:551(__disableRecurrenceChanges)(686) 0.041
Calendar.py:1021(_createOccurrence)(815) 1.583
Calendar.py:1380(_makeGeneralChange)(171) 0.031
Calendar.py:1384(changeNoModification)(325) 0.023
Calendar.py:1697(_copyCollections)(163) 1.054
Calendar.py:1723(changeThis)(875) 1.687
Calendar.py:1961(unmodify)(54) 0.095
TimeZone.py:483(convertFloatingEvents)(1) 0.797
eim.py:865(setattrs)(512) 6.567
items.py:384(changeEditState)(573) 0.129
items.py:471(_updateCommonAttribute)(1755) 1.489
stamping.py:109(add)(163) 4.040
translator.py:584(do)(489) 0.793
translator.py:1077(do)(4) 5.508
triage.py:203(__setTriageAttributes)(482) 0.256
triage.py:222(copyTriageStatusFrom)(75) 0.162
schema.py:1443(parcel_for_module) <- schema.py:565(fixup)(176) 0.350
schema.py:800(fixup)(13) 0.019
schema.py:906(fixup)(6) 0.002
schema.py:1042(fixup)(24) 0.034
schema.py:1268(__getattr__)(2456) 3.300
schema.py:1375(getParent)(31) 1.930
schema.py:1467(synchronize)(33) 2.546
schema.py:1268(__getattr__) <- Calendar.py:353(getLocation)(115) 0.152
Calendar.py:578(initialOrganizer)(465) 0.247
Calendar.py:901(__getDatetimePrepFunction)(931) 0.137
Recurrence.py:444(onRuleSetChanged)(28) 0.714
TimeZone.py:28(reindexFloatingEvents)(7) 1.403
TimeZone.py:107(get)(905) 0.243
TimeZone.py:197(installParcel)(2) 0.025
TimeZone.py:483(convertFloatingEvents)(335) 0.797
__init__.py:101(installParcel)(2) 0.045
collections.py:700(<lambda>)(3) 0.001
collections.py:867(withoutTrash)(4) 0.003
mail.py:629(getCurrentOutgoingAccount)(6) 0.075
mail.py:650(getCurrentIncomingAccount)(6) 0.087
mail.py:672(_recalculateMeEmailAddresses)(9) 0.337
mail.py:2105(findEmailAddress)(1) 0.000
schema.py:1268(__getattr__)(2454) 3.300
translator.py:351(startImport)(1) 1.247
translator.py:718(import_password_prefs)(1) 0.008
translator.py:1892(set_current)(1) 0.003
translator.py:1969(do)(2) 0.002
translator.py:2040(do)(2) 0.187
translator.py:2218(import_mail_prefs)(1) 0.000
translator.py:2252(import_prefcalendarhourheight)(1) 1.793
translator.py:2269(import_preftimezones)(1) 2.201
usercollections.py:64(ensureColor)(2) 0.000
usercollections.py:92(installParcel)(4) 0.004
schema.py:1424(_init_schema_item) <- schema.py:1481(itemFor)(33) 4.166
Collection.py:80(add) <- Calendar.py:1697(_copyCollections)(261) 1.054
stamping.py:109(add)(628) 4.040
Sets.py:1554(sourceChanged) <- Item.py:2275(__call__)(5479) 3.532
schema.py:530(_init_schema_item) <- schema.py:1481(itemFor)(176) 4.166
translator.py:402(withRealUUID) <- translator.py:422(withItemForUUID)(652) 16.370
schema.py:1467(synchronize) <- schema.py:1424(_init_schema_item)(8) 3.048
schema.py:1436(<lambda>)(25) 0.103
schema.py:261(_init_schema_item) <- schema.py:1481(itemFor)(554) 4.166
Calendar.py:1393(_grabOccurrences) <- Calendar.py:1452(changeThisAndFuture)(43) 1.352
Calendar.py:2042(cleanRule)(58) 1.755
translator.py:2269(import_preftimezones) <- eim.py:813(importRecord)(1) 29.316
TimeZone.py:185(onShowUIChanged) <- Item.py:169(setAttributeValue)(1) 15.883
translator.py:428(get_occurence) <- defer.py:306(_runCallbacks)(652) 20.252
schema.py:644(__init__) <- Calendar.py:353(getLocation)(58) 0.152
Calendar.py:414(getCollection)(1) 0.010
__init__.py:101(installParcel)(2) 0.045
__init__.py:186(installParcel)(5) 0.454
eim.py:862(withItemForUUID)(1102) 14.147
mail.py:672(_recalculateMeEmailAddresses)(1) 0.337
mail.py:1069(__setup__)(2) 0.005
schema.py:572(update)(97) 0.322
schema.py:765(_create_schema_item)(8) 0.003
schema.py:1375(getParent)(1) 1.930
stamping.py:37(stampedItems)(3) 0.021
stamping.py:56(_create_schema_item)(5) 0.015
translator.py:406(get_occurrence)(30) 1.507
translator.py:1077(do)(56) 5.508
Calendar.py:1907(updateTriageStatus) <- Calendar.py:1393(_grabOccurrences)(101) 2.225
Calendar.py:1452(changeThisAndFuture)(60) 1.352
Calendar.py:2042(cleanRule)(58) 1.755
Indexes.py:417(insertKey) <- Indexed.py:313(fillIndex)(5) 0.030
Sets.py:367(_collectionChanged)(3389) 3.626
items.py:66(cmpTimeAttribute) <- Calendar.py:2365(compare)(63216) 4.994
Monitors.py:266(__call__) <- Item.py:169(setAttributeValue)(6992) 15.883
Item.py:481(removeAttributeValue)(62) 0.059
Values.py:393(_setValue)(1243) 7.541
Values.py:546(_removeRef)(54) 0.069
schema.py:1375(getParent) <- schema.py:1400(_find_schema_item)(33) 0.035
schema.py:1424(_init_schema_item)(33) 3.048
defer.py:229(callback) <- __init__.py:35(decorate)(11) 0.065
defer.py:306(_runCallbacks)(652) 20.252
eim.py:862(withItemForUUID)(4823) 14.147
Calendar.py:1116(_generateRule) <- Calendar.py:1239(getOccurrencesBetween)(280) 0.779
Calendar.py:1330(getFirstOccurrence)(56) 0.444
Calendar.py:1821(getFirstFutureLater)(286) 0.797
defer.py:283(_startRunCallbacks) <- defer.py:229(callback)(5486) 1.888
Ordered by: cumulative time
List reduced from 1388 to 50 due to restriction <50>
Function called...
dumpreload.py:148(reload) -> EIM-Generated Constructor for osaf.sharing.model.CollectionMembershipRecord:1(__new__)(466) 0.344
EIM-Generated Constructor for osaf.sharing.model.CollectionRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.EventRecord:1(__new__)(628) 0.358
EIM-Generated Constructor for osaf.sharing.model.IMAPAccountFoldersRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.IMAPAccountRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.IMAPFolderRecord:1(__new__)(2) 0.001
EIM-Generated Constructor for osaf.sharing.model.ItemRecord:1(__new__)(702) 0.313
EIM-Generated Constructor for osaf.sharing.model.MailAccountRecord:1(__new__)(2) 0.001
EIM-Generated Constructor for osaf.sharing.model.MailPrefsRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.ModifiedByRecord:1(__new__)(702) 0.201
EIM-Generated Constructor for osaf.sharing.model.NoteRecord:1(__new__)(628) 0.199
EIM-Generated Constructor for osaf.sharing.model.PasswordPrefsRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.PasswordRecord:1(__new__)(4) 0.001
EIM-Generated Constructor for osaf.sharing.model.PrefCalendarHourHeightRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.PrefTimezonesRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.SMTPAccountRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.ShareAccountRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.SharePrefsRecord:1(__new__)(1) 0.000
EIM-Generated Constructor for osaf.sharing.model.ShareStateRecord:1(__new__)(559) 0.229
EIM-Generated Constructor for osaf.sharing.model.ShareWebDAVAccountRecord:1(__new__)(1) 0.000
Kind.py:966(iterItems)(7) 0.339
__init__.py:35(decorate)(9) 0.065
__init__.py:71(waitForDeferred)(9) 0.004
decimal.py:516(__new__)(1404) 0.233
dumpreload.py:45(loader)(1) 0.000
dumpreload.py:57(persistent_load)(3704) 0.058
eim.py:785(__init__)(1) 0.000
eim.py:793(finishImport)(1) 0.000
eim.py:813(importRecord)(3704) 29.316
schema.py:699(iterItems)(1) 0.001
translator.py:351(startImport)(1) 1.247
eim.py:813(importRecord) -> translator.py:437(import_item)(702) 4.260
translator.py:581(import_modifiedBy)(702) 1.213
translator.py:626(import_note)(628) 1.617
translator.py:700(import_password)(4) 0.002
translator.py:718(import_password_prefs)(1) 0.008
translator.py:1050(import_event)(628) 15.358
translator.py:1329(import_collection)(1) 0.280
translator.py:1387(import_collectionmembership)(466) 1.116
translator.py:1657(import_sharing_state)(559) 1.095
translator.py:1811(import_sharing_account)(1) 0.003
translator.py:1850(import_sharing_webdav_account)(1) 0.001
translator.py:1888(import_sharing_prefs)(1) 0.003
translator.py:1926(import_mail_account)(2) 0.003
translator.py:1967(import_smtp_account)(1) 0.112
translator.py:2038(import_imap_account)(1) 0.191
translator.py:2099(import_imap_account_folders)(1) 0.001
translator.py:2108(import_imap_folder)(2) 0.003
translator.py:2218(import_mail_prefs)(1) 0.000
translator.py:2252(import_prefcalendarhourheight)(1) 1.793
translator.py:2269(import_preftimezones)(1) 2.201
defer.py:306(_runCallbacks) -> Queue.py:105(put)(11) 0.000
defer.py:229(callback)(652) 1.888
eim.py:865(setattrs)(4823) 6.567
eim.py:878(add_stamp)(1280) 8.842
translator.py:406(get_occurrence)(652) 1.507
translator.py:428(get_occurence)(652) 2.102
translator.py:454(do)(702) 0.113
translator.py:584(do)(702) 0.793
translator.py:1077(do)(628) 5.508
translator.py:1331(add_source)(1) 0.270
translator.py:1396(do)(466) 0.979
translator.py:1400(do)(466) 0.635
translator.py:1672(do)(559) 0.008
translator.py:1814(do)(1) 0.000
translator.py:1825(do_password)(1) 0.000
translator.py:1892(set_current)(1) 0.003
translator.py:1928(do)(2) 0.000
translator.py:1969(do)(1) 0.002
translator.py:1972(do_password)(1) 0.000
translator.py:2040(do)(1) 0.187
translator.py:2048(do_password)(1) 0.000
translator.py:2101(do)(1) 0.000
translator.py:2103(do)(1) 0.000
translator.py:2110(do)(2) 0.000
defer.py:185(addCallback) -> defer.py:168(addCallbacks)(11596) 19.942
defer.py:168(addCallbacks) -> defer.py:306(_runCallbacks)(6784) 20.252
translator.py:422(withItemForUUID) -> defer.py:162(__init__)(652) 0.020
defer.py:185(addCallback)(652) 19.996
eim.py:862(withItemForUUID)(6103) 14.147
rrule.py:392(_iter)(15) 0.526
translator.py:402(withRealUUID)(652) 2.600
Item.py:169(setAttributeValue) -> Attribute.py:149(_afterAspectChange)(894) 0.004
Attribute.py:157(_afterCardinalityChange)(554) 0.004
Attribute.py:161(_afterRequiredChange)(14) 0.000
Attribute.py:165(_afterIndexedChange)(17) 0.000
Attribute.py:173(_afterDefaultValueChange)(136) 0.001
Attribute.py:177(_afterOtherNameChange)(131) 0.001
Attribute.py:185(_afterAfterChangeChange)(42) 0.000
Item.py:2140(_refList)(697) 0.273
Item.py:2335(__call__)(3) 1.403
Monitors.py:206(__call__)(13309) 6.754
Monitors.py:266(__call__)(6992) 1.931
PersistentCollections.py:29(_setOwner)(180) 0.003
PersistentCollections.py:126(__init__)(398) 0.020
PersistentCollections.py:200(__init__)(304) 0.025
PersistentCollections.py:314(__init__)(118) 0.005
PersistentCollections.py:376(__init__)(1416) 0.061
Recurrence.py:231(onRecurrenceChanged)(201) 0.715
Recurrence.py:444(onRuleSetChanged)(86) 0.714
RefCollections.py:53(_isRefs)(383) 0.014
RefCollections.py:228(extend)(1080) 0.073
RefCollections.py:464(_removeRefs)(383) 0.063
RefCollections.py:755(__iter__)(6) 0.435
RefCollections.py:870(__getitem__)(3) 0.009
RefCollections.py:884(__contains__)(3) 0.032
Sets.py:50(__eq__)(86) 0.003
Sets.py:537(_setOwner)(3) 0.002
Sets.py:553(_isRefs)(6) 0.001
Sets.py:581(_removeRefs)(6) 0.001
Sets.py:587(_fillRefs)(12) 0.002
Sets.py:710(_setOwner)(8) 0.033
Sets.py:782(_setOwner)(22) 0.089
Sets.py:1525(_setOwner)(12) 0.076
TimeZone.py:185(onShowUIChanged)(1) 2.200
Types.py:981(__eq__)(2966) 0.035
Values.py:393(_setValue)(2914) 7.541
items.py:545(onLastModifiedChanged)(702) 0.212
mail.py:889(onReplyToAddressChange)(1) 0.236
schema.py:1181(wrappedMethod)(8113) 3.985
translator.py:1050(import_event) -> _core.py:7584(GetApp)(1) 0.000
defer.py:185(addCallback)(628) 19.996
eim.py:599(__get__)(3140) 0.056
translator.py:93(with_nochange)(1884) 0.258
translator.py:158(getTimeValues)(628) 0.350
translator.py:291(splitUUID)(628) 0.598
translator.py:422(withItemForUUID)(628) 16.370
eim.py:862(withItemForUUID) -> Item.py:169(setAttributeValue)(440) 15.883
Item.py:1545(_setKind)(449) 0.610
RepositoryView.py:396(findUUID)(4823) 0.113
collections.py:700(<lambda>)(1) 0.001
collections.py:702(<lambda>)(1) 0.000
collections.py:740(_setTrash)(1) 0.024
collections.py:770(_setSource)(1) 0.000
collections.py:843(__setup__)(1) 0.040
defer.py:162(__init__)(4823) 0.020
defer.py:185(addCallback)(6103) 19.996
defer.py:229(callback)(4823) 1.888
eim.py:865(setattrs)(449) 6.567
mail.py:1069(__setup__)(1) 0.005
notes.py:63(<lambda>)(440) 0.009
rrule.py:392(_iter)(17) 0.526
schema.py:473(_initializers_for)(449) 0.031
schema.py:644(__init__)(1102) 2.080
schema.py:694(getKind)(449) 0.721
schema.py:805(targetType)(1280) 0.394
translator.py:422(withItemForUUID)(1280) 16.370
eim.py:878(add_stamp) -> Calendar.py:587(add)(465) 4.064
PersistentCollections.py:66(useValue)(815) 0.025
eim.py:865(setattrs)(1280) 6.567
schema.py:820(__init__)(1280) 1.353
Values.py:393(_setValue) -> Attribute.py:149(_afterAspectChange)(538) 0.004
Attribute.py:181(_afterTypeChange)(538) 0.015
Collection.py:48(_collectionChanged)(1543) 3.537
Kind.py:929(_afterSchemaChange)(750) 1.757
Kind.py:1024(_collectionChanged)(6) 0.847
Monitors.py:36(_collectionChanged)(109) 0.001
Monitors.py:266(__call__)(1243) 1.931
Recurrence.py:444(onRuleSetChanged)(43) 0.714
RefCollections.py:53(_isRefs)(5975) 0.014
RefCollections.py:794(_isRefs)(91) 0.000
RefCollections.py:884(__contains__)(1) 0.032
Values.py:464(_setRef)(9476) 0.785
Values.py:503(_getRef)(4390) 0.078
Values.py:546(_removeRef)(2) 0.069
mail.py:982(onFromAddressChange)(1) 0.107
schema.py:1181(wrappedMethod)(1554) 3.985
Monitors.py:206(__call__) -> Indexed.py:33(getIndex)(9256) 0.080
Indexes.py:430(moveKey)(9006) 4.081
Indexes.py:463(moveKeys)(250) 1.554
Item.py:390(getAttributeValue)(13325) 0.292
PersistentCollections.py:59(restoreValue)(26650) 0.139
Sets.py:508(_setDirty)(9256) 0.319
Sets.py:1357(__contains__)(685) 0.093
Sets.py:1489(__contains__)(12640) 0.650
collections.py:318(onCollectionReindex)(13325) 0.435
rrule.py:392(_iter)(2) 0.526
eim.py:865(setattrs) -> Calendar.py:2439(__setattr__)(512) 3.390
Item.py:169(setAttributeValue)(4902) 15.883
Item.py:481(removeAttributeValue)(1618) 0.059
rrule.py:392(_iter)(5) 0.526
RefCollections.py:259(append) -> LinkedMap.py:135(resolveAlias)(763) 0.007
RefCollections.py:167(__contains__)(2668) 0.084
Values.py:393(_setValue)(2415) 7.541
Indexes.py:890(compare) -> Calendar.py:2365(compare)(63216) 4.994
translator.py:1077(do) -> Calendar.py:47(fget)(628) 0.118
Calendar.py:724(getEffectiveStartTime)(43) 0.262
Calendar.py:887(getMaster)(628) 0.100
Calendar.py:2042(cleanRule)(30) 1.755
Calendar.py:2439(__setattr__)(4) 3.390
Item.py:169(setAttributeValue)(1115) 15.883
Item.py:481(removeAttributeValue)(482) 0.059
Recurrence.py:318(setRuleFromDateUtil)(43) 0.015
RefCollections.py:755(__iter__)(228) 0.435
eim.py:599(__get__)(1029) 0.056
schema.py:644(__init__)(56) 2.080
schema.py:820(__init__)(796) 1.353
schema.py:832(__eq__)(1256) 0.017
translator.py:118(fromICalendarDateTime)(8) 0.919
translator.py:227(getDateUtilRRuleSet)(43) 0.027
Calendar.py:2365(compare) -> Calendar.py:701(_getEffectiveStartTime)(54354) 1.157
Calendar.py:738(_getEffectiveEndTime)(71082) 1.563
Calendar.py:2363(getFn)(996) 0.004
items.py:66(cmpTimeAttribute)(63216) 2.000
translator.py:437(import_item) -> decimal.py:689(__cmp__)(2106) 0.076
decimal.py:742(__eq__)(2106) 0.097
decimal.py:1488(__float__)(702) 0.082
defer.py:185(addCallback)(702) 19.996
eim.py:599(__get__)(4137) 0.056
translator.py:93(with_nochange)(702) 0.258
translator.py:422(withItemForUUID)(702) 16.370
schema.py:1481(itemFor) -> Item.py:169(setAttributeValue)(121) 15.883
schema.py:78(_find_schema_item)(32) 0.005
schema.py:249(_find_schema_item)(554) 0.000
schema.py:252(_create_schema_item)(554) 0.233
schema.py:261(_init_schema_item)(554) 2.515
schema.py:496(<lambda>)(189) 0.238
schema.py:517(_find_schema_item)(176) 0.062
schema.py:524(_create_schema_item)(176) 0.265
schema.py:530(_init_schema_item)(176) 2.672
schema.py:565(fixup)(176) 0.350
schema.py:623(_find_schema_item)(1) 0.000
schema.py:758(_find_schema_item)(13) 0.004
schema.py:765(_create_schema_item)(8) 0.003
schema.py:770(_init_schema_item)(8) 0.685
schema.py:800(fixup)(10) 0.019
schema.py:890(_find_schema_item)(6) 0.002
schema.py:897(_create_schema_item)(6) 0.003
schema.py:903(_init_schema_item)(6) 0.002
schema.py:906(fixup)(6) 0.002
schema.py:1017(_find_schema_item)(24) 0.009
schema.py:1024(_create_schema_item)(24) 0.019
schema.py:1041(_init_schema_item)(24) 0.000
schema.py:1042(fixup)(24) 0.034
schema.py:1394(__hash__)(290) 0.000
schema.py:1397(__eq__)(121) 0.005
schema.py:1400(_find_schema_item)(34) 0.035
schema.py:1419(_create_schema_item)(33) 0.007
schema.py:1424(_init_schema_item)(33) 3.048
schema.py:1436(<lambda>)(25) 0.103
schema.py:1550(initRepository)(1) 0.046
schema.py:1585(declareTemplate)(806) 0.001
stamping.py:56(_create_schema_item)(5) 0.015
stamping.py:60(_init_schema_item)(5) 0.375
stamping.py:63(newCallback)(3) 0.008
Indexes.py:430(moveKey) -> Indexed.py:33(getIndex)(3618) 0.080
Indexes.py:257(insertKey)(3144) 0.636
Indexes.py:307(removeKey)(3144) 0.263
Indexes.py:430(moveKey)(222) 4.081
Indexes.py:651(compare)(313) 0.013
Indexes.py:709(compare)(2452) 0.156
Indexes.py:890(compare)(35835) 5.588
Indexes.py:932(compare)(1106) 0.081
Sets.py:508(_setDirty)(222) 0.319
Calendar.py:587(add) -> Calendar.py:551(__disableRecurrenceChanges)(628) 0.041
Calendar.py:558(__enableRecurrenceChanges)(465) 0.012
stamping.py:109(add)(628) 4.040
stamping.py:109(add) -> Calendar.py:571(initialStartTime)(465) 0.229
Calendar.py:578(initialOrganizer)(465) 0.247
Calendar.py:583(<lambda>)(465) 0.009
Calendar.py:2436(getMembershipItem)(163) 0.001
Calendar.py:2439(__setattr__)(163) 3.390
Collection.py:80(add)(628) 2.960
Item.py:169(setAttributeValue)(1860) 15.883
PersistentCollections.py:66(useValue)(163) 0.025
items.py:374(getMembershipItem)(465) 0.001
schema.py:1481(itemFor)(628) 4.166
stamping.py:37(stampedItems)(628) 0.021
schema.py:1181(wrappedMethod) -> Calendar.py:782(onStartTimeChanged)(2528) 1.314
Calendar.py:1982(onEventChanged)(4693) 1.574
Calendar.py:2029(onCollectionChange)(1036) 0.101
mail.py:1545(onAddressChange)(763) 0.159
schema.py:820(__init__)(9783) 1.353
stamping.py:199(onStampTypesChanged)(763) 0.394
Sets.py:367(_collectionChanged) -> Collection.py:48(_collectionChanged)(6856) 3.537
Indexes.py:257(insertKey)(466) 0.636
Indexes.py:307(removeKey)(241) 0.263
Indexes.py:417(insertKey)(3389) 2.031
Sets.py:508(_setDirty)(1864) 0.319
Values.py:452(_addRef)(636) 0.096
Values.py:546(_removeRef)(26) 0.069
RefCollections.py:243(add) -> RefCollections.py:259(append)(1525) 5.654
Collection.py:48(_collectionChanged) -> Item.py:2275(__call__)(7432) 3.532
Item.py:2294(__call__)(2) 0.020
RefCollections.py:755(__iter__)(10930) 0.435
RefCollections.py:870(__getitem__)(3496) 0.009
RefCollections.py:884(__contains__)(8315) 0.032
rrule.py:392(_iter)(9) 0.526
Item.py:2275(__call__) -> Item.py:390(getAttributeValue)(8997) 0.292
Sets.py:800(sourceChanged)(1953) 0.564
Sets.py:1404(sourceChanged)(1565) 0.511
Sets.py:1554(sourceChanged)(5479) 2.793
Values.py:503(_getRef)(662) 0.078
Calendar.py:2439(__setattr__) -> Calendar.py:1723(changeThis)(171) 1.687
Item.py:169(setAttributeValue)(4442) 15.883
Kind.py:429(hasAttribute)(189) 0.001
Types.py:981(__eq__)(52) 0.035
schema.py:820(__init__)(171) 1.353
schema.py:1443(parcel_for_module) -> schema.py:1360(__init__)(155) 0.040
schema.py:1397(__eq__)(2584) 0.005
schema.py:1481(itemFor)(155) 4.166
schema.py:1268(__getattr__) -> Item.py:1825(getItemChild)(2469) 0.201
schema.py:1268(__getattr__)(2454) 3.300
schema.py:1443(parcel_for_module)(2456) 3.305
schema.py:1424(_init_schema_item) -> Item.py:1545(_setKind)(33) 0.610
Item.py:1742(rename)(33) 0.031
Item.py:1774(move)(33) 0.119
MasterPassword.py:608(installParcel)(1) 0.001
TimeZone.py:197(installParcel)(1) 0.025
__init__.py:35(installParcel)(1) 0.004
__init__.py:60(installParcel)(1) 0.027
__init__.py:101(installParcel)(1) 0.045
__init__.py:186(installParcel)(1) 0.454
password.py:314(installParcel)(1) 0.025
schema.py:1198(importString)(33) 0.190
schema.py:1375(getParent)(33) 1.930
schema.py:1467(synchronize)(8) 2.546
schema.py:1481(itemFor)(33) 4.166
usercollections.py:92(installParcel)(1) 0.004
Collection.py:80(add) -> RefCollections.py:243(add)(889) 3.611
Sets.py:1554(sourceChanged) -> Indexed.py:52(_anIndex)(164) 0.253
Sets.py:347(_sourceChanged)(5479) 0.148
Sets.py:367(_collectionChanged)(2670) 3.626
Sets.py:1608(filter)(2558) 0.109
Sets.py:1635(filter)(2786) 0.223
schema.py:530(_init_schema_item) -> Attribute.py:149(_afterAspectChange)(1) 0.004
Attribute.py:185(_afterAfterChangeChange)(1) 0.000
Item.py:169(setAttributeValue)(199) 15.883
Item.py:390(getAttributeValue)(25) 0.292
PersistentCollections.py:39(prepareValue)(1) 0.022
PersistentCollections.py:66(useValue)(1) 0.025
RefCollections.py:167(__contains__)(489) 0.084
RefCollections.py:259(append)(489) 5.654
schema.py:455(make_cloud)(51) 0.154
schema.py:1481(itemFor)(705) 4.166
translator.py:402(withRealUUID) -> defer.py:185(addCallback)(652) 19.996
translator.py:291(splitUUID)(652) 0.598
translator.py:422(withItemForUUID)(652) 16.370
schema.py:1467(synchronize) -> schema.py:54(_is_schema)(1303) 0.026
schema.py:1198(importString)(33) 0.190
schema.py:1443(parcel_for_module)(33) 3.305
schema.py:1481(itemFor)(328) 4.166
schema.py:261(_init_schema_item) -> Item.py:169(setAttributeValue)(2124) 15.883
Item.py:1742(rename)(554) 0.031
Item.py:1774(move)(554) 0.119
RefCollections.py:259(append)(69) 5.654
schema.py:173(__setattr__)(554) 0.029
schema.py:220(<lambda>)(1367) 0.002
schema.py:233(<lambda>)(1108) 0.003
schema.py:1481(itemFor)(1291) 4.166
Calendar.py:1393(_grabOccurrences) -> Calendar.py:47(fget)(245) 0.118
Calendar.py:961(createDateUtilFromRule)(101) 0.198
Calendar.py:1330(getFirstOccurrence)(43) 0.444
Calendar.py:1872(triageForRecurrenceAddition)(101) 0.287
Calendar.py:1907(updateTriageStatus)(101) 2.066
RefCollections.py:755(__iter__)(202) 0.435
rrule.py:149(__contains__)(144) 0.247
schema.py:820(__init__)(144) 1.353
translator.py:2269(import_preftimezones) -> Item.py:169(setAttributeValue)(3) 15.883
TimeZone.py:107(get)(1) 0.243
eim.py:599(__get__)(4) 0.056
schema.py:1261(__init__)(1) 0.185
schema.py:1268(__getattr__)(1) 3.300
TimeZone.py:185(onShowUIChanged) -> Item.py:169(setAttributeValue)(1) 15.883
TimeZone.py:107(get)(1) 0.243
TimeZone.py:483(convertFloatingEvents)(1) 0.797
translator.py:428(get_occurence) -> defer.py:185(addCallback)(652) 19.996
translator.py:422(withItemForUUID)(652) 16.370
schema.py:644(__init__) -> Calendar.py:2720(<lambda>)(1) 0.000
Calendar.py:2721(<lambda>)(1) 0.000
Item.py:60(__init__)(1371) 1.481
Item.py:169(setAttributeValue)(1475) 15.883
Parcel.py:266(__setup__)(1) 0.000
TimeZone.py:83(__setup__)(1) 0.004
collections.py:379(__setup__)(6) 0.010
collections.py:419(__setup__)(17) 0.113
collections.py:700(<lambda>)(2) 0.001
collections.py:702(<lambda>)(2) 0.000
collections.py:740(_setTrash)(2) 0.024
collections.py:770(_setSource)(2) 0.000
collections.py:843(__setup__)(5) 0.040
items.py:265(<lambda>)(724) 0.077
mail.py:1069(__setup__)(1) 0.005
notes.py:63(<lambda>)(25) 0.009
schema.py:688(getDefaultParent)(1259) 0.042
schema.py:694(getKind)(1371) 0.721
triage.py:94(<lambda>)(724) 0.014
Calendar.py:1907(updateTriageStatus) -> Calendar.py:47(fget)(161) 0.118
Calendar.py:887(getMaster)(219) 0.100
Calendar.py:1384(changeNoModification)(325) 0.023
Calendar.py:1791(getLastPastDone)(219) 0.838
Calendar.py:1821(getFirstFutureLater)(219) 0.797
Calendar.py:1847(autoTriage)(325) 0.785
Calendar.py:1945(isTriageOnlyModification)(139) 0.037
Calendar.py:1961(unmodify)(27) 0.095
RefCollections.py:755(__iter__)(1122) 0.435
Types.py:981(__eq__)(815) 0.035
schema.py:820(__init__)(802) 1.353
Indexes.py:417(insertKey) -> Indexes.py:257(insertKey)(3394) 0.636
Indexes.py:651(compare)(233) 0.013
Indexes.py:709(compare)(3498) 0.156
Indexes.py:890(compare)(13551) 5.588
Indexes.py:932(compare)(1012) 0.081
items.py:66(cmpTimeAttribute) ->
Monitors.py:266(__call__) -> Item.py:390(getAttributeValue)(8351) 0.292
PersistentCollections.py:59(restoreValue)(8351) 0.139
Sets.py:1583(itemChanged)(11300) 1.248
collections.py:338(onFilteredItemChange)(8351) 0.107
schema.py:1375(getParent) -> RepositoryView.py:376(findPath)(36) 0.045
schema.py:644(__init__)(1) 2.080
schema.py:1443(parcel_for_module)(31) 3.305
schema.py:1481(itemFor)(1) 4.166
schema.py:1585(declareTemplate)(1) 0.001
defer.py:229(callback) -> defer.py:283(_startRunCallbacks)(5486) 1.804
Calendar.py:1116(_generateRule) -> Calendar.py:724(getEffectiveStartTime)(1916) 0.262
Calendar.py:768(getEffectiveEndTime)(219) 0.051
Calendar.py:887(getMaster)(482) 0.100
Calendar.py:901(__getDatetimePrepFunction)(482) 0.137
Calendar.py:914(prepare)(168) 0.000
Calendar.py:919(prepare)(936) 0.016
Calendar.py:961(createDateUtilFromRule)(482) 0.198
Calendar.py:1021(_createOccurrence)(79) 1.583
Calendar.py:1146(<genexpr>)(237) 0.159
Calendar.py:1164(iterRecurrenceIDs)(631) 0.389
Calendar.py:1290(getExistingOccurrence)(149) 0.315
rrule.py:392(_iter)(7) 0.526
defer.py:283(_startRunCallbacks) -> defer.py:306(_runCallbacks)(5486) 20.252
--
MorgenSagen - 12 Apr 2007