Author: ericwa
Date: Sun Jan 26 20:54:35 2014
New Revision: 10155
URL: http://svn.gna.org/viewcvs/etoile?rev=10155&view=rev
Log:
Add another benchmark. The benchmark now takes around 1 minute 40 seconds.
Interesting thing here is that for TestMultiplePersistentRootPerformance, which
does 1600 commits currently, the total time is 31s. 3s is spent in
-[COSQLiteStore commitStoreTransaction]. 5s in -[COEditingContext
validateChangedObjectsForContext:error:]. 18s in -[COObjectGraphContext
setItemGraph:], 2s in -[COBranch modifiedItemsSnapshot]
So the red flags here are -setItemGraph: (this is replicating changes in
[persistentRoot objectGraphContext] to [[persistentRoot currentBranch]
objectGraphContext]).) Solution: a) don't create branch-specific object graphs
until needed b) optimize -setItemGraph)
The other thing to look at is optimizing
validateChangedObjectsForContext:error:.
Added:
trunk/Etoile/Frameworks/CoreObject/Benchmark/TestMultiplePersistentRootPerformance.m
Modified:
trunk/Etoile/Frameworks/CoreObject/CoreObject.xcodeproj/project.pbxproj
_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs