This all started because I was hoping to build a tool that would record "repository events' into trace files which could then be played back agains the repository in order to have a way to generate reliable timings/benchmarks. Unfortunately, that goal turns out to be harder to achieve than I thought. What I did end up with is a tool that captures the traces (the easy part)
The traces that I capture include get,set, find, and commit operations on the repository.
I ran a simple trace on Chandler -- starting up with no repository, and then just quitting. A summary of
the trace appears below.
The columns are:
- number of getAttribute accesses
- UUID of the item being accessed
- itsName of the item being accessed
- name of the attribute being accessed
You can see that there are a number of items whose attributes that are accessed in excess of 1000 times, which is surprising given that I hardly did anything with the application.
4111 59109148-2ddc-11d9-c023-000a959a114e,MenuItem,attributes
3610 59109148-2ddc-11d9-c023-000a959a114e,MenuItem,inheritedAttributes
3256 598b9ee2-2ddc-11d9-c023-000a959a114e,StaticText,attributes
2830 598b9ee2-2ddc-11d9-c023-000a959a114e,StaticText,inheritedAttributes
2802 59d0e3b2-2ddc-11d9-c023-000a959a114e,ContentItemDetail,attributes
2778 59d0e3b2-2ddc-11d9-c023-000a959a114e,ContentItemDetail,inheritedAttributes
2606 593c4aae-2ddc-11d9-c023-000a959a114e,EditText,attributes
2268 593c4aae-2ddc-11d9-c023-000a959a114e,EditText,inheritedAttributes
2247 4a1e03f0-2ddc-11d9-c023-000a959a114e,Attribute,attributes
2242 4a1e03f0-2ddc-11d9-c023-000a959a114e,Attribute,inheritedAttributes
1934 58e4386e-2ddc-11d9-c023-000a959a114e,RectangularChild,superKinds
1810 4a0f724a-2ddc-11d9-c023-000a959a114e,Item,superKinds
1682 59b68472-2ddc-11d9-c023-000a959a114e,ToolbarItem,attributes
1494 59b68472-2ddc-11d9-c023-000a959a114e,ToolbarItem,inheritedAttributes
1388 58c9323a-2ddc-11d9-c023-000a959a114e,Block,superKinds
1055 587d787c-2ddc-11d9-c023-000a959a114e,SizeType,implementationTypes
1052 587d787c-2ddc-11d9-c023-000a959a114e,SizeType,fields
I've put up the trace at
http://aloha.osafoundation.org/~twl/traces/chandler.trace.bz2
The command line I used to generate the summary is:
grep get chandler.trace| cut -d, -f2,3,4 | sort | uniq -c | sort -r | less
--
TedLeung - 09 Nov 2004
After the switch off of dbxml and accompanying approvements, there's abig reduction in the number of accesses. This is the new list of access over 1000 times, for the same scenario
1961 c2aa1bf2-3cd1-11d9-8f61-000a959a114e,RectangularChild,superKinds
1747 a8f6d196-3cd1-11d9-8f61-000a959a114e,Item,superKinds
1396 c2606516-3cd1-11d9-8f61-000a959a114e,Block,superKinds
1205 c15f9d62-3cd1-11d9-8f61-000a959a114e,SizeType,implementationTypes
1202 c15f9d62-3cd1-11d9-8f61-000a959a114e,SizeType,fields
--
TedLeung - 22 Nov 2004