Hi,
I am relatively new to neo4j. I have implemented a traversal algorithm 
using neo4j as underlying graph storage. 
Graph has about 40K nodes and about 2M edges. 
Using 2.1.2 community version of neo4j embedded. It is hosted as service in 
tomcat7 with allocated 6Gb of memory on 14.04 Ubuntu.
Following is a piece of code which does numeric index queries.
       
*RelationshipIndex numericIndex 
= graphDb.index().forRelationships(Constants.RELATIONSHIP_INDEX);*
* public Relationship getRelationship(Node n, int lowerlimit, int 
upperlimit) throws Exception {*


*              long t1 = System.currentTimeMillis();*
* IndexHits<Relationship> hits = 
numericIndex.query(QueryContext.numericRange("start_time", lowerlimit, 
upperlimit, true, true), n, null);*
* long t2 = System.currentTimeMillis();*
* time_spent_in_numeric_index_queries +=  t2-t1;         // global variable*
*                        // do something on hits and return a  relationship 
from it*

*      }*
for a single threaded traversal  time_spent_in_numeric_index_queries ~= 1 
sec.
but if i do multiple traversals ( same traversal ) in parallel , 
time_spent_in_numeric_index_queries increases linearly . for 10 calls in 
parallel it takes ~= 5 sec.
Also, i am only doing read operations throughout .
I want to know, how does querying work? Does it each query lock the entire 
index?


Thanks,
Ashish


-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to