我正在对neo4j的遍历速度进行性能测试,比较neo4j的Blueprints和本地实现。我已经创建了一个由1000个节点组成的图,每一层有1个节点,即:
我不明白neo4j的blueprints实现为什么更快。我没有为它们中的任何一个进行特殊配置。深度优先搜索的时间几乎相同。有人知道如何加速本地性能以匹配蓝图吗?谢谢。
O->O->O->O->. . . .->O
我记录了使用Blueprints代码进行迭代(for循环代码)的时间分别为90ms、93ms和79ms(运行3次)。
Iterable<Vertex> vertices = testGraph.getVertices();
//Code block which was measured.
for(Vertex vertex : vertices){};
使用本地代码时,分别为270ms、268ms和321ms:
Iterable<Node> nodes = Traversal.description().breadthFirst().relationships(CustomRelTypes.LINKED_TO, Direction.OUTGOING).evaluator(Evaluators.all()).traverse(rootNode).nodes();
//Code block which was measured.
for(Node node : nodes){}
我不明白neo4j的blueprints实现为什么更快。我没有为它们中的任何一个进行特殊配置。深度优先搜索的时间几乎相同。有人知道如何加速本地性能以匹配蓝图吗?谢谢。