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

Reply via email to