2014-09-03 14:22:20 |
Patrick Stevens |
description |
We currently batch up the Neo4j requests into two parts as follows: create a program node, then create all nodes and relationships in a single pass.
This is marginally faster than the original without batching (which took a long time because the Neo4j REST client made one new request for each node and relationship), but has a lot of overhead involved in adding a connection, since we no longer know in Sextant the ID of each database-node corresponding to each function. This means each relationship-adding query must start with a SELECT clause, to find the appropriate start and end nodes. This might be fixed by having three passes: create a program node, create all function nodes in a batch (and store the IDs in Sextant), and finally create the relationships (which is faster because we can get rid of the SELECT clauses, because Sextant now knows the node ID of each function directly). |
Vim takes nearly a minute to upload on my testing machine, after implementing the blueprint "Procedure to upload a program to Sextant". |
|