gremlin中的Pipeline是否运行得更快并且可以避免内存不足错误?

时间:2015-11-05 18:31:29

标签: titan gremlin

以下是没有管道的代码段

map = [:]
edges = g.V('type', 'update').inE('createupdate')
for(edge in edges)
{
        date_long = edge.since.toLong()
        incrValInMap(map,date_long) // this function add\increment value in map
}

这是一个与pipleline做同样事情的人

map = [:]
g.V('type', 'update').inE('createupdate').since.groupCount(map)

我有几个问题

  1. pipleline是一个懒惰的评价?是指它在移动到下一个管道之前不需要收集所有顶点吗?

  2. 第二个代码段的运行速度是否比第一个快?

  3. 第二个代码段是否会减少内存消耗

1 个答案:

答案 0 :(得分:1)

我发现你的两段代码之间没有任何真正的区别。两者都使用Pipeline ...唯一的区别在于您构建组计数的方式以及如何迭代它。对我来说,第二个代码片段更好,因为它更容易阅读并且需要更少的代码。第二个代码段中的groupCount步骤与您在第一个代码段中手动执行的操作基本相同。