Working on a project at swipely we are trying to optimize performance inserting vertices and found that we are getting some pathologic behavior with key indices
Here is some profile results from a small test case - the 3.87 seconds in Java::ComThinkaureliusTitanGraphdbBlueprints::TitanBlueprintsGraph#getIndexedKeys is a real performance killer on larger data sets.
An alternative to patching the default graph would be to inherit and create a MemoizedGraph so that the user can choose which one they want - though I see no need to do so.
The outstanding question is how and when to decide to invalidate the cache of indices?
Thanks for that. I guess Titan isn't particularly flexible towards schema changes so we may as well require an application server restart to refresh the indices cache for now.
Working on a project at swipely we are trying to optimize performance inserting vertices and found that we are getting some pathologic behavior with key indices
Here is some profile results from a small test case - the 3.87 seconds in Java::ComThinkaureliusTitanGraphdbBlueprints::TitanBlueprintsGraph#getIndexedKeys is a real performance killer on larger data sets.
With the Patch:
Without the Patch:
An alternative to patching the default graph would be to inherit and create a MemoizedGraph so that the user can choose which one they want - though I see no need to do so.
The outstanding question is how and when to decide to invalidate the cache of indices?