There is a script in parcels/osaf/sharing/tests called xTestEIMSyncPerformance.py. To profile subscribing, edit that script and set:
self.Subscribe(profile=True)
You can run then script to generate profile data by cd'ing to the chandler directory and running:
RunPython? tools/rt.py -m release xTestEIMSyncPerformance
This will generate a file named subscribe_perf.log in the chandler directory. You can view the profile stats by running:
RunPython? tools/print_profile_stats.py subscribe_perf.log
This also generates a subscribe_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.
3601068 function calls (3350098 primitive calls) in 54.235 CPU seconds
Ordered by: cumulative time
List reduced from 752 to 50 due to restriction <50>
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 54.235 54.235 shares.py:565(sync)
1 0.010 0.010 54.226 54.226 recordset_conduit.py:64(sync)
1 0.232 0.232 43.630 43.630 recordset_conduit.py:88(_sync)
559 0.025 0.000 23.142 0.041 eim.py:805(importRecords)
2236 0.039 0.000 23.117 0.010 eim.py:813(importRecord)
6730/5508 0.275 0.000 19.396 0.004 defer.py:306(_runCallbacks)
6354/5508 0.041 0.000 18.870 0.003 defer.py:185(addCallback)
6354/5508 0.078 0.000 18.834 0.003 defer.py:168(addCallbacks)
559 0.061 0.000 17.795 0.032 translator.py:1046(import_event)
25408/19431 1.473 0.000 16.122 0.001 Item.py:169(setAttributeValue)
2237 0.025 0.000 14.714 0.007 eim.py:862(withItemForUUID)
3924/2237 0.093 0.000 14.688 0.007 translator.py:424(deferredItem)
3924/2613 0.208 0.000 13.065 0.005 eim.py:865(deferredItem)
1 0.138 0.138 10.586 10.586 DBRepositoryView.py:556(commit)
935 0.027 0.000 9.628 0.010 eim.py:886(add_stamp)
559 0.095 0.000 9.006 0.016 shares.py:225(merge)
2512 0.045 0.000 8.666 0.003 DBRepositoryView.py:680(_saveItem)
2512 0.172 0.000 8.622 0.003 DBItemIO.py:46(writeItem)
2512 0.133 0.000 7.758 0.003 ItemIO.py:22(writeItem)
10715 0.477 0.000 6.288 0.001 eim.py:265(update)
3813 0.062 0.000 6.270 0.002 eim.py:878(setattrs)
5177 0.092 0.000 6.208 0.001 eim.py:935(smart_setattr)
4331/4053 0.263 0.000 6.119 0.002 Values.py:393(_setValue)
11567 0.728 0.000 6.087 0.001 Monitors.py:206(__call__)
559 0.058 0.000 5.812 0.010 translator.py:1073(do)
1 0.006 0.006 5.770 5.770 recordset_conduit.py:582(getRecords)
1189 0.149 0.000 5.492 0.005 stamping.py:109(add)
11232/10533 0.163 0.000 5.487 0.001 schema.py:1181(wrappedMethod)
17135/5481 0.386 0.000 5.050 0.001 Item.py:2275(__call__)
42484 0.600 0.000 4.916 0.000 decimal.py:773(__hash__)
11514/7366 0.215 0.000 4.800 0.001 Sets.py:367(_collectionChanged)
12789/7383 0.383 0.000 4.756 0.001 Collection.py:48(_collectionChanged)
2512 0.018 0.000 4.718 0.002 DBItemIO.py:185(_values)
2512 0.400 0.000 4.701 0.002 Values.py:127(_writeValues)
629 0.013 0.000 4.455 0.007 Calendar.py:587(add)
50136 0.664 0.000 4.339 0.000 Indexes.py:906(compare)
18617 1.200 0.000 4.065 0.000 DBItemIO.py:193(_value)
2288/1960 0.049 0.000 3.995 0.002 RefCollections.py:259(append)
7499/7313 0.532 0.000 3.900 0.001 Indexes.py:421(moveKey)
1680/1352 0.009 0.000 3.822 0.003 RefCollections.py:243(add)
8415/5423 0.224 0.000 3.704 0.001 Calendar.py:2447(__setattr__)
10396/4106 0.108 0.000 3.465 0.001 Sets.py:1554(sourceChanged)
1 0.002 0.002 3.445 3.445 recordset_conduit.py:773(get)
1 0.018 0.018 3.442 3.442 recordset_conduit.py:825(serverGet)
1118 0.018 0.000 3.368 0.003 shares.py:279(_cleanDiff)
50136 0.405 0.000 3.315 0.000 Calendar.py:2365(compare)
48677 3.285 0.000 3.285 0.000 DBContainer.py:118(put_record)
957 0.013 0.000 3.132 0.003 Collection.py:80(add)
227068/101852 2.188 0.000 3.082 0.000 simplegeneric.py:59(dispatch)
1 0.248 0.248 3.077 3.077 eimml.py:136(serialize)
Ordered by: cumulative time
List reduced from 752 to 50 due to restriction <50>
Function was called by...
shares.py:565(sync) <- profile:0(profiler)(1) 0.000
recordset_conduit.py:64(sync) <- shares.py:565(sync)(1) 54.235
recordset_conduit.py:88(_sync) <- recordset_conduit.py:64(sync)(1) 54.226
eim.py:805(importRecords) <- recordset_conduit.py:88(_sync)(559) 43.630
eim.py:813(importRecord) <- eim.py:805(importRecords)(2236) 23.142
defer.py:306(_runCallbacks) <- defer.py:168(addCallbacks)(3741) 18.834
defer.py:283(_startRunCallbacks)(2989) 1.097
defer.py:185(addCallback) <- eim.py:865(deferredItem)(3924) 13.065
eim.py:869(uuid_to_item)(376) 1.210
recordset_conduit.py:88(_sync)(1) 43.630
translator.py:402(deferredUUID)(376) 1.901
translator.py:432(import_item)(559) 1.798
translator.py:576(import_modifiedBy)(559) 2.271
translator.py:1046(import_event)(559) 17.795
defer.py:168(addCallbacks) <- defer.py:185(addCallback)(6354) 18.870
translator.py:1046(import_event) <- eim.py:813(importRecord)(559) 23.117
Item.py:169(setAttributeValue) <- Calendar.py:353(getLocation)(58) 0.176
Calendar.py:871(updateRecurrenceEnd)(8) 0.015
Calendar.py:1452(changeThisAndFuture)(195) 1.786
Calendar.py:2447(__setattr__)(4744) 3.704
Item.py:124(_setInitialValues)(559) 0.074
Item.py:2256(__init__)(6) 0.006
Item.py:2270(__init__)(6) 0.006
Recurrence.py:318(setRuleFromDateUtil)(216) 0.029
collections.py:763(_setTrash)(1) 0.006
collections.py:870(_updateCollection)(2) 0.013
eim.py:865(deferredItem)(265) 13.065
eim.py:935(smart_setattr)(3549) 6.208
items.py:384(changeEditState)(465) 0.174
items.py:471(_updateCommonAttribute)(3749) 2.453
recordset_conduit.py:88(_sync)(24) 43.630
recordset_conduit.py:149(setup_collection)(1) 0.002
recordset_conduit.py:773(get)(1) 3.445
schema.py:644(__init__)(1420) 1.659
shares.py:199(setAgreed)(653) 0.486
shares.py:215(setPending)(559) 0.228
shares.py:532(addSharedItem)(465) 1.384
shares.py:565(sync)(3) 54.235
stamping.py:109(add)(3258) 5.492
translator.py:406(get_occurrence)(17) 1.233
translator.py:449(do)(1395) 0.168
translator.py:579(do)(1395) 1.272
translator.py:1073(do)(1128) 5.812
triage.py:203(__setTriageAttributes)(1266) 0.833
eim.py:862(withItemForUUID) <- recordset_conduit.py:88(_sync)(1) 43.630
translator.py:432(import_item)(559) 1.798
translator.py:576(import_modifiedBy)(559) 2.271
translator.py:621(import_note)(559) 1.213
translator.py:1046(import_event)(559) 17.795
translator.py:424(deferredItem) <- eim.py:862(withItemForUUID)(2237) 14.714
eim.py:865(deferredItem)(935) 13.065
eim.py:869(uuid_to_item)(376) 1.210
translator.py:402(deferredUUID)(376) 1.901
eim.py:865(deferredItem) <- translator.py:424(deferredItem)(3924) 14.688
DBRepositoryView.py:556(commit) <- recordset_conduit.py:64(sync)(1) 54.226
eim.py:886(add_stamp) <- defer.py:306(_runCallbacks)(935) 19.396
shares.py:225(merge) <- recordset_conduit.py:88(_sync)(559) 43.630
DBRepositoryView.py:680(_saveItem) <- DBRepositoryView.py:556(commit)(2512) 10.586
DBItemIO.py:46(writeItem) <- DBRepositoryView.py:680(_saveItem)(2512) 8.666
ItemIO.py:22(writeItem) <- DBItemIO.py:46(writeItem)(2512) 8.622
eim.py:265(update) <- eim.py:250(__init__)(3913) 2.413
eim.py:288(__sub__)(2795) 2.377
eim.py:293(__add__)(2795) 2.919
eim.py:298(__iadd__)(1212) 0.461
eim.py:878(setattrs) <- defer.py:306(_runCallbacks)(2613) 19.396
eim.py:865(deferredItem)(265) 13.065
eim.py:886(add_stamp)(935) 9.628
eim.py:935(smart_setattr) <- eim.py:878(setattrs)(5177) 6.270
Values.py:393(_setValue) <- Item.py:169(setAttributeValue)(2465) 16.122
RefCollections.py:259(append)(1866) 3.995
Monitors.py:206(__call__) <- Item.py:169(setAttributeValue)(11559) 16.122
Item.py:481(removeAttributeValue)(8) 0.018
translator.py:1073(do) <- defer.py:306(_runCallbacks)(559) 19.396
recordset_conduit.py:582(getRecords) <- recordset_conduit.py:88(_sync)(1) 43.630
stamping.py:109(add) <- Calendar.py:587(add)(629) 4.455
recordset_conduit.py:149(setup_collection)(1) 0.002
shares.py:532(addSharedItem)(559) 1.384
schema.py:1181(wrappedMethod) <- Item.py:169(setAttributeValue)(9264) 16.122
Item.py:481(removeAttributeValue)(2) 0.018
Values.py:393(_setValue)(1750) 6.119
triage.py:111(setTriageStatus)(216) 1.788
Item.py:2275(__call__) <- Collection.py:48(_collectionChanged)(12912) 4.756
Kind.py:1024(_collectionChanged)(2965) 1.705
RepositoryView.py:1065(dispatchChanges)(1258) 1.697
decimal.py:773(__hash__) <- eim.py:265(update)(34099) 6.288
eim.py:329(_merge)(6708) 0.913
shares.py:193(getAgreed)(1677) 1.466
Sets.py:367(_collectionChanged) <- Sets.py:800(sourceChanged)(1258) 1.282
Sets.py:1404(sourceChanged)(2965) 1.213
Sets.py:1554(sourceChanged)(5406) 3.465
Sets.py:1583(itemChanged)(1885) 1.276
Collection.py:48(_collectionChanged) <- RefCollections.py:453(_removeRef)(3) 0.001
Sets.py:367(_collectionChanged)(11514) 4.800
Values.py:393(_setValue)(1272) 6.119
DBItemIO.py:185(_values) <- ItemIO.py:22(writeItem)(2512) 7.758
Values.py:127(_writeValues) <- DBItemIO.py:185(_values)(2512) 4.718
Calendar.py:587(add) <- Calendar.py:1723(changeThis)(164) 1.668
eim.py:886(add_stamp)(465) 9.628
Indexes.py:906(compare) <- Indexes.py:408(insertKey)(15202) 2.004
Indexes.py:421(moveKey)(32090) 3.900
Indexes.py:456(moveKeys)(2844) 0.317
DBItemIO.py:193(_value) <- Values.py:127(_writeValues)(18617) 4.701
RefCollections.py:259(append) <- RefCollections.py:228(extend)(43) 0.066
RefCollections.py:243(add)(1680) 3.822
RefCollections.py:833(add)(5) 0.003
RefCollections.py:837(set)(1) 0.001
recordset_conduit.py:547(newState)(559) 0.530
Indexes.py:421(moveKey) <- Indexes.py:421(moveKey)(186) 3.900
Monitors.py:206(__call__)(7313) 6.087
RefCollections.py:243(add) <- Collection.py:80(add)(957) 3.132
collections.py:812(add)(723) 0.748
Calendar.py:2447(__setattr__) <- Calendar.py:551(__disableRecurrenceChanges)(537) 0.040
Calendar.py:1021(_createOccurrence)(820) 1.493
Calendar.py:1380(_makeGeneralChange)(164) 0.047
Calendar.py:1384(changeNoModification)(209) 0.019
Calendar.py:1697(_copyCollections)(164) 1.052
Calendar.py:1723(changeThis)(850) 1.668
DBItemIO.py:193(_value)(640) 4.065
DBRepositoryView.py:556(commit)(328) 10.586
DBRepositoryView.py:717(mapChangedItems)(164) 0.036
eim.py:935(smart_setattr)(374) 6.208
items.py:384(changeEditState)(343) 0.174
items.py:471(_updateCommonAttribute)(1706) 2.453
shares.py:532(addSharedItem)(94) 1.384
stamping.py:109(add)(378) 5.492
translator.py:579(do)(282) 1.272
translator.py:1073(do)(2) 5.812
triage.py:203(__setTriageAttributes)(1282) 0.833
triage.py:222(copyTriageStatusFrom)(78) 0.247
Sets.py:1554(sourceChanged) <- Item.py:2275(__call__)(10396) 5.050
recordset_conduit.py:773(get) <- recordset_conduit.py:582(getRecords)(1) 5.770
recordset_conduit.py:825(serverGet) <- recordset_conduit.py:773(get)(1) 3.445
shares.py:279(_cleanDiff) <- shares.py:225(merge)(1118) 9.006
Calendar.py:2365(compare) <- Indexes.py:906(compare)(50136) 4.339
DBContainer.py:118(put_record) <- DBContainer.py:446(writeName)(1929) 0.098
DBContainer.py:688(saveKey)(3872) 0.289
DBContainer.py:883(saveItem)(2512) 0.622
DBItemIO.py:193(_value)(18617) 4.065
DBItemIO.py:349(_ref)(7498) 2.142
DBRefs.py:352(_saveValues)(11570) 1.310
DBRefs.py:721(_saveValues)(2679) 0.318
Collection.py:80(add) <- Calendar.py:1697(_copyCollections)(328) 1.052
stamping.py:109(add)(629) 5.492
simplegeneric.py:59(dispatch) <- EIM-Generated Constructor for osaf.sharing.model.EventRecord:1(__new__)(30186) 0.971
EIM-Generated Constructor for osaf.sharing.model.ItemRecord:1(__new__)(20124) 0.701
EIM-Generated Constructor for osaf.sharing.model.ModifiedByRecord:1(__new__)(13416) 0.518
EIM-Generated Constructor for osaf.sharing.model.NoteRecord:1(__new__)(16770) 0.572
eim.py:54(get_converter)(80496) 1.449
eim.py:154(get_default_converter_for_primitive_type)(33540) 0.339
eimml.py:136(serialize)(13416) 3.077
eimml.py:223(deserialize)(7940) 2.319
simplegeneric.py:59(dispatch)(11180) 3.082
eimml.py:136(serialize) <- recordset_conduit.py:825(serverGet)(1) 3.442
Ordered by: cumulative time
List reduced from 752 to 50 due to restriction <50>
Function called...
shares.py:565(sync) -> Item.py:169(setAttributeValue)(3) 16.122
Item.py:481(removeAttributeValue)(2) 0.018
recordset_conduit.py:64(sync)(1) 54.226
shares.py:646(getLinkedShares)(1) 0.000
recordset_conduit.py:64(sync) -> DBRepositoryView.py:556(commit)(1) 10.586
recordset_conduit.py:88(_sync)(1) 43.630
recordset_conduit.py:88(_sync) -> Calendar.py:2197(isRecurrenceMaster)(559) 0.012
Collection.py:59(__contains__)(559) 0.088
DBRepositoryView.py:732(mapHistory)(1) 0.001
Item.py:169(setAttributeValue)(24) 16.122
RefCollections.py:521(getAlias)(559) 0.003
RefCollections.py:755(__iter__)(742) 0.545
RepositoryView.py:396(findUUID)(3080) 0.633
__init__.py:956(debug)(1119) 0.397
collections.py:812(add)(559) 0.748
defer.py:185(addCallback)(1) 18.870
eim.py:250(__init__)(1212) 2.413
eim.py:254(__repr__)(559) 0.098
eim.py:298(__iadd__)(94) 0.461
eim.py:302(__nonzero__)(1677) 0.010
eim.py:785(__init__)(1) 0.000
eim.py:793(finishImport)(559) 0.002
eim.py:805(importRecords)(559) 23.142
eim.py:862(withItemForUUID)(1) 14.714
recordset_conduit.py:94(_callback)(1127) 0.002
recordset_conduit.py:541(getState)(559) 0.564
recordset_conduit.py:558(hasState)(559) 0.015
recordset_conduit.py:562(getFilter)(1) 0.000
recordset_conduit.py:582(getRecords)(1) 5.770
schema.py:820(__init__)(559) 1.594
shares.py:193(getAgreed)(653) 1.466
shares.py:199(setAgreed)(94) 0.486
shares.py:225(merge)(559) 9.006
shares.py:285(updateConflicts)(559) 0.001
shares.py:532(addSharedItem)(559) 1.384
translator.py:351(startImport)(559) 0.129
translator.py:362(getUUIDForAlias)(3354) 0.750
triage.py:111(setTriageStatus)(655) 1.788
eim.py:805(importRecords) -> eim.py:813(importRecord)(2236) 23.117
eim.py:813(importRecord) -> translator.py:432(import_item)(559) 1.798
translator.py:576(import_modifiedBy)(559) 2.271
translator.py:621(import_note)(559) 1.213
translator.py:1046(import_event)(559) 17.795
defer.py:306(_runCallbacks) -> defer.py:229(callback)(376) 1.144
eim.py:869(uuid_to_item)(376) 1.210
eim.py:878(setattrs)(2613) 6.270
eim.py:886(add_stamp)(935) 9.628
recordset_conduit.py:149(setup_collection)(1) 0.002
rrule.py:392(_iter)(4) 0.344
translator.py:406(get_occurrence)(376) 1.233
translator.py:449(do)(559) 0.168
translator.py:579(do)(559) 1.272
translator.py:1073(do)(559) 5.812
defer.py:185(addCallback) -> defer.py:168(addCallbacks)(6354) 18.834
defer.py:168(addCallbacks) -> defer.py:306(_runCallbacks)(3741) 19.396
translator.py:1046(import_event) -> _core.py:7584(GetApp)(225) 0.006
defer.py:185(addCallback)(559) 18.870
eim.py:599(__get__)(2795) 0.070
eim.py:862(withItemForUUID)(559) 14.714
translator.py:93(with_nochange)(1677) 0.280
translator.py:158(getTimeValues)(559) 0.364
translator.py:291(splitUUID)(559) 0.835
Item.py:169(setAttributeValue) -> DBRepositoryView.py:53(_logItem)(1) 0.037
Item.py:2140(_refList)(1345) 0.326
Monitors.py:206(__call__)(11559) 6.087
Monitors.py:266(__call__)(6156) 1.902
PersistentCollections.py:29(_setOwner)(724) 0.014
PersistentCollections.py:126(__init__)(130) 0.009
PersistentCollections.py:376(__init__)(1879) 0.099
Recurrence.py:231(onRecurrenceChanged)(173) 0.002
Recurrence.py:444(onRuleSetChanged)(86) 0.001
RefCollections.py:53(_isRefs)(525) 0.020
RefCollections.py:228(extend)(1345) 0.066
RefCollections.py:464(_removeRefs)(525) 0.020
Sets.py:50(__eq__)(6) 0.010
Sets.py:553(_isRefs)(1) 0.002
Sets.py:581(_removeRefs)(1) 0.000
Sets.py:587(_fillRefs)(2) 0.000
Sets.py:782(_setOwner)(3) 0.012
Types.py:981(__eq__)(3652) 0.068
Values.py:266(_verifyAssignment)(21037) 1.314
Values.py:393(_setValue)(2465) 6.119
Values.py:916(_verifyAssignment)(2) 0.063
items.py:545(onLastModifiedChanged)(559) 0.255
schema.py:1181(wrappedMethod)(9264) 5.487
eim.py:862(withItemForUUID) -> translator.py:424(deferredItem)(2237) 14.688
translator.py:424(deferredItem) -> eim.py:865(deferredItem)(3924) 13.065
translator.py:402(deferredUUID)(376) 1.901
eim.py:865(deferredItem) -> Item.py:169(setAttributeValue)(265) 16.122
Item.py:1545(_setKind)(265) 0.301
RepositoryView.py:396(findUUID)(2613) 0.633
defer.py:162(__init__)(2989) 0.013
defer.py:185(addCallback)(3924) 18.870
defer.py:229(callback)(2613) 1.144
eim.py:878(setattrs)(265) 6.270
notes.py:63(<lambda>)(265) 0.009
rrule.py:392(_iter)(7) 0.344
schema.py:473(_initializers_for)(265) 0.017
schema.py:644(__init__)(466) 1.659
schema.py:694(getKind)(265) 0.018
schema.py:805(targetType)(935) 0.573
translator.py:424(deferredItem)(935) 14.688
DBRepositoryView.py:556(commit) -> Calendar.py:2447(__setattr__)(328) 3.704
DBItemIO.py:38(__init__)(1) 0.000
DBRefs.py:410(_clearDirties)(3916) 0.069
DBRefs.py:721(_saveValues)(1) 0.318
DBRefs.py:780(_clearDirties)(167) 0.004
DBRepository.py:1178(getVersion)(1) 0.000
DBRepository.py:1182(nextVersion)(1) 0.000
DBRepository.py:1198(logCommit)(1) 0.000
DBRepository.py:1274(acquireLock)(1) 0.000
DBRepositoryView.py:164(_startTransaction)(1) 0.000
DBRepositoryView.py:270(refresh)(1) 1.698
DBRepositoryView.py:579(finish)(1) 0.000
DBRepositoryView.py:680(_saveItem)(2512) 8.666
Indexed.py:340(_clearDirties)(28) 0.011
Item.py:1492(_effectDelete)(2) 0.000
RefCollections.py:914(_clearDirties)(35) 0.001
RepositoryView.py:210(setDirty)(1) 0.000
RepositoryView.py:218(isDirty)(2) 0.000
RepositoryView.py:1279(_acquireExclusive)(1) 0.000
RepositoryView.py:1283(_releaseExclusive)(1) 0.000
RepositoryView.py:1372(prune)(1) 0.000
__init__.py:970(info)(2) 0.002
eim.py:886(add_stamp) -> Calendar.py:587(add)(465) 4.455
PersistentCollections.py:66(useValue)(470) 0.127
eim.py:878(setattrs)(935) 6.270
schema.py:820(__init__)(935) 1.594
shares.py:225(merge) -> eim.py:288(__sub__)(1677) 2.377
eim.py:293(__add__)(1118) 2.919
eim.py:298(__iadd__)(1118) 0.461
eim.py:364(__or__)(1118) 0.934
eim.py:452(sync_filter)(1118) 0.366
shares.py:193(getAgreed)(2795) 1.466
shares.py:199(setAgreed)(559) 0.486
shares.py:209(getPending)(1118) 0.050
shares.py:215(setPending)(559) 0.228
shares.py:279(_cleanDiff)(1118) 3.368
DBRepositoryView.py:680(_saveItem) -> DBItemIO.py:46(writeItem)(2512) 8.622
DBItemIO.py:46(writeItem) -> DBContainer.py:883(saveItem)(2512) 0.622
ItemIO.py:22(writeItem)(2512) 7.758
Values.py:115(_getDirties)(5024) 0.070
ItemIO.py:22(writeItem) -> DBItemIO.py:137(_kind)(2512) 0.023
DBItemIO.py:146(_parent)(2512) 0.009
DBItemIO.py:155(_name)(2512) 0.006
DBItemIO.py:160(_className)(2512) 0.006
DBItemIO.py:167(_children)(2512) 0.330
DBItemIO.py:174(_acls)(2512) 0.014
DBItemIO.py:185(_values)(2512) 4.718
DBItemIO.py:189(_references)(2512) 2.439
Kind.py:266(getItemClass)(2363) 0.090
eim.py:265(update) -> decimal.py:742(__eq__)(3354) 1.835
decimal.py:773(__hash__)(34099) 4.916
eim.py:629(__sub__)(4472) 0.100
eim.py:657(getKey)(31304) 0.670
eim.py:662(__add__)(2236) 1.049
eim.py:878(setattrs) -> eim.py:935(smart_setattr)(5177) 6.208
rrule.py:392(_iter)(13) 0.344
eim.py:935(smart_setattr) -> Calendar.py:2447(__setattr__)(374) 3.704
Item.py:169(setAttributeValue)(3549) 16.122
Item.py:481(removeAttributeValue)(849) 0.018
Values.py:393(_setValue) -> Collection.py:48(_collectionChanged)(1272) 4.756
Monitors.py:266(__call__)(1234) 1.902
Recurrence.py:444(onRuleSetChanged)(43) 0.001
RefCollections.py:53(_isRefs)(4736) 0.020
RefCollections.py:794(_isRefs)(6) 0.000
Values.py:464(_setRef)(7250) 0.894
Values.py:503(_getRef)(4050) 0.101
schema.py:1181(wrappedMethod)(1750) 5.487
Monitors.py:206(__call__) -> Indexed.py:33(getIndex)(7461) 0.071
Indexes.py:421(moveKey)(7313) 3.900
Indexes.py:456(moveKeys)(148) 0.317
Item.py:390(getAttributeValue)(11567) 0.384
PersistentCollections.py:59(restoreValue)(23134) 0.149
Sets.py:508(_setDirty)(7461) 0.409
Sets.py:1357(__contains__)(618) 0.185
Sets.py:1489(__contains__)(10949) 1.228
collections.py:341(onCollectionReindex)(11567) 0.451
translator.py:1073(do) -> Calendar.py:47(fget)(559) 0.113
Calendar.py:724(getEffectiveStartTime)(43) 0.273
Calendar.py:887(getMaster)(559) 0.124
Calendar.py:2042(cleanRule)(17) 0.940
Calendar.py:2447(__setattr__)(2) 3.704
Item.py:169(setAttributeValue)(1128) 16.122
Item.py:481(removeAttributeValue)(298) 0.018
Recurrence.py:318(setRuleFromDateUtil)(43) 0.029
RefCollections.py:755(__iter__)(156) 0.545
eim.py:599(__get__)(1042) 0.070
schema.py:644(__init__)(69) 1.659
schema.py:820(__init__)(681) 1.594
schema.py:832(__eq__)(1118) 0.020
translator.py:118(fromICalendarDateTime)(8) 1.160
translator.py:227(getDateUtilRRuleSet)(43) 0.031
recordset_conduit.py:582(getRecords) -> __init__.py:956(debug)(1) 0.397
eimml.py:223(deserialize)(1) 2.319
recordset_conduit.py:773(get)(1) 3.445
stamping.py:109(add) -> Calendar.py:571(initialStartTime)(465) 0.132
Calendar.py:578(initialOrganizer)(465) 0.098
Calendar.py:583(<lambda>)(465) 0.011
Calendar.py:2444(getMembershipItem)(164) 0.001
Calendar.py:2447(__setattr__)(378) 3.704
Collection.py:80(add)(629) 3.132
Item.py:169(setAttributeValue)(3258) 16.122
PersistentCollections.py:59(restoreValue)(559) 0.149
PersistentCollections.py:66(useValue)(723) 0.127
items.py:374(getMembershipItem)(465) 0.001
schema.py:1481(itemFor)(629) 0.368
stamping.py:37(stampedItems)(629) 0.017
schema.py:1181(wrappedMethod) -> Calendar.py:782(onStartTimeChanged)(2122) 1.632
Calendar.py:1982(onEventChanged)(5255) 1.981
Calendar.py:2029(onCollectionChange)(1258) 0.176
mail.py:1545(onAddressChange)(1298) 0.356
schema.py:820(__init__)(11232) 1.594
stamping.py:199(onStampTypesChanged)(1299) 0.875
Item.py:2275(__call__) -> Item.py:390(getAttributeValue)(17135) 0.384
Sets.py:800(sourceChanged)(3774) 1.282
Sets.py:1404(sourceChanged)(2965) 1.213
Sets.py:1554(sourceChanged)(10396) 3.465
Values.py:503(_getRef)(1258) 0.101
decimal.py:773(__hash__) -> decimal.py:516(__new__)(42484) 1.960
decimal.py:742(__eq__)(42484) 1.835
decimal.py:1492(__int__)(42484) 1.281
Sets.py:367(_collectionChanged) -> Collection.py:48(_collectionChanged)(11514) 4.756
DBRefs.py:499(removeKey)(132) 0.296
DBRefs.py:525(_loadKey)(3821) 0.089
Indexes.py:248(insertKey)(466) 0.563
Indexes.py:408(insertKey)(3355) 2.004
Sets.py:508(_setDirty)(1829) 0.409
Values.py:452(_addRef)(629) 0.160
Collection.py:48(_collectionChanged) -> Item.py:2275(__call__)(12912) 5.050
RefCollections.py:755(__iter__)(18276) 0.545
RefCollections.py:870(__getitem__)(5364) 0.020
RefCollections.py:884(__contains__)(12671) 0.048
rrule.py:392(_iter)(4) 0.344
DBItemIO.py:185(_values) -> Values.py:127(_writeValues)(2512) 4.701
Values.py:127(_writeValues) -> DBItemIO.py:193(_value)(18617) 4.065
Kind.py:382(getAttribute)(18617) 0.691
Calendar.py:587(add) -> Calendar.py:551(__disableRecurrenceChanges)(629) 0.040
Calendar.py:558(__enableRecurrenceChanges)(465) 0.014
stamping.py:109(add)(629) 5.492
Indexes.py:906(compare) -> Calendar.py:2365(compare)(50136) 3.315
Calendar.py:2376(compare_init)(9760) 0.360
DBItemIO.py:193(_value) -> Calendar.py:2447(__setattr__)(640) 3.704
DBContainer.py:118(put_record)(18617) 3.285
DBItemIO.py:78(writeValue)(16660) 1.557
DBItemIO.py:86(writeList)(589) 0.094
DBItemIO.py:99(writeSet)(1157) 0.149
DBItemIO.py:112(writeDict)(211) 0.063
RefCollections.py:259(append) -> DBRefs.py:327(resolveAlias)(559) 0.024
RefCollections.py:167(__contains__)(2288) 0.277
Values.py:393(_setValue)(1866) 6.119
Indexes.py:421(moveKey) -> DBRefs.py:499(removeKey)(3048) 0.296
DBRefs.py:525(_loadKey)(3424) 0.089
Indexed.py:33(getIndex)(3610) 0.071
Indexes.py:248(insertKey)(3048) 0.563
Indexes.py:421(moveKey)(186) 3.900
Indexes.py:667(compare)(317) 0.013
Indexes.py:725(compare)(2489) 0.104
Indexes.py:906(compare)(32090) 4.339
Indexes.py:952(compare)(850) 0.062
Sets.py:508(_setDirty)(186) 0.409
RefCollections.py:243(add) -> RefCollections.py:259(append)(1680) 3.995
Calendar.py:2447(__setattr__) -> Calendar.py:1723(changeThis)(164) 1.668
Item.py:169(setAttributeValue)(4744) 16.122
Kind.py:429(hasAttribute)(190) 0.001
Types.py:981(__eq__)(52) 0.068
schema.py:820(__init__)(164) 1.594
Sets.py:1554(sourceChanged) -> Sets.py:347(_sourceChanged)(5177) 0.165
Sets.py:367(_collectionChanged)(5406) 4.800
Sets.py:1489(__contains__)(5219) 1.228
Sets.py:1608(filter)(2516) 0.156
Sets.py:1635(filter)(2661) 0.255
recordset_conduit.py:773(get) -> Item.py:169(setAttributeValue)(1) 16.122
recordset_conduit.py:825(serverGet)(1) 3.442
recordset_conduit.py:825(serverGet) -> eim.py:250(__init__)(560) 2.413
eim.py:262(__ne__)(559) 0.004
eim.py:293(__add__)(559) 2.919
eimml.py:136(serialize)(1) 3.077
recordset_conduit.py:795(_getCollection)(1) 0.000
shares.py:279(_cleanDiff) -> eim.py:288(__sub__)(1118) 2.377
eim.py:293(__add__)(1118) 2.919
Calendar.py:2365(compare) -> Calendar.py:701(_getEffectiveStartTime)(20953) 0.824
Calendar.py:738(_getEffectiveEndTime)(28857) 1.013
Calendar.py:2363(getFn)(174) 0.002
items.py:66(cmpTimeAttribute)(50136) 1.662
DBContainer.py:118(put_record) ->
Collection.py:80(add) -> RefCollections.py:243(add)(957) 3.822
simplegeneric.py:59(dispatch) -> decimal.py:516(__new__)(3354) 1.960
eim.py:54(get_converter)(40248) 1.449
eim.py:154(get_default_converter_for_primitive_type)(33540) 0.339
eim.py:604(return_typeinfo)(40248) 0.046
eim.py:954(<lambda>)(1842) 0.001
eim.py:955(<lambda>)(12882) 0.008
eim.py:956(<lambda>)(33540) 0.024
eim.py:994(<lambda>)(6708) 0.005
eimml.py:53(serialize_int)(1677) 0.006
eimml.py:59(serialize_text)(10062) 0.008
eimml.py:71(serialize_clob)(559) 0.000
eimml.py:83(serialize_decimal)(1118) 0.045
eimml.py:101(deserialize_int)(1583) 0.004
eimml.py:105(deserialize_text)(5091) 0.003
eimml.py:113(deserialize_clob)(148) 0.000
eimml.py:117(deserialize_decimal)(1118) 0.358
simplegeneric.py:59(dispatch)(11180) 3.082
eimml.py:136(serialize) -> ElementTree.py:1003(tostring)(1) 2.610
decimal.py:689(__cmp__)(1118) 1.647
decimal.py:742(__eq__)(1118) 1.835
simplegeneric.py:59(dispatch)(13416) 3.082