Hello,

> I have started optimizing Sqlg to do a bulk/barrier for its VertexStep
> optimizations.

Cool.

> Sqlg has two optimization strategies.
> 
> GraphStepStrategy and VertexStepStrategy. GraphStepStrategy executes
> first and then VertexStepStrategy.
> 
> GraphStepStrategy starts at the beginning of the traversal optimizing
> from left to right till it reaches a step that it can not optimize and
> terminates.

Makes sense.

> After that VertexStepStrategy tries to optimize what remains.
> It ultimately replaces optimizable sequential steps with a
> SqlgVertexStep.

Okay...

> Thus far the SqlgVertexStep always has one incoming traverser from
> where it continues the traversal. Basically it translated to a sql
> where clause with the incoming traversal element's id.
> 
> The current optimization is to bulk the incoming traversers and execute
> the traversal for all incoming traversers in one go. This reduces
> latency and has a drastic performance improvement.
> 
> I do the same as the existing BarrierSteps and iterate the `starts` to
> collect all the left incoming traversers and from there I continue and
> all is well.

Smart. You got chops.

> However for local traversals there is only one start on the traversal
> so the barrier idea is not working.
> 
> Is there a way barrier all incoming left traversers on local
> traversals?


Eeeeeeeeeeeeeeee…… huuuuuuuhhhhhhhh…………….

There is a “easy” and there is a “hard.” Give me an example traversal and lets 
discuss from a more specific standpoint before generalizing...

Thanks,
Marko.

http://markorodriguez.com

Reply via email to