2015-11-05 1 views
0

Вот фрагмент кода без трубопровода,Является ли Pipeline в 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

Я не вижу никакой реальной разницы между вашими двумя фрагментами кода. Оба используют Pipeline ... Единственное различие заключается в том, как вы строите свой групповой счет и как его повторять. Для меня второй фрагмент кода лучше, так как его легче читать и требуется меньше кода. Шаг groupCount от вашего второго фрагмента кода делает в основном то же самое, что и вы делаете вручную в своем первом фрагменте.