以下是没有管道的代码段
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)
我有几个问题
pipleline是一个懒惰的评价?是指它在移动到下一个管道之前不需要收集所有顶点吗?
第二个代码段的运行速度是否比第一个快?
第二个代码段是否会减少内存消耗
答案 0 :(得分:1)
我发现你的两段代码之间没有任何真正的区别。两者都使用Pipeline
...唯一的区别在于您构建组计数的方式以及如何迭代它。对我来说,第二个代码片段更好,因为它更容易阅读并且需要更少的代码。第二个代码段中的groupCount
步骤与您在第一个代码段中手动执行的操作基本相同。