Hi, @Miles, I'm using the single-threaded pipeline executer, and still the > JoinOperation does use the CachingEnumerable which doesn't respect the > pipeline work:
I think you've misunderstood how the JoinOperation works internally: a row from the left can match multiple rows on the right (just like a sql join), which, as SimoneB says, requires the enumerable to be cached so it can be enumerated multiple times. Otherwise, you're really talking about some sort of "merge" operation - and you have to write that yourself :-), or executing some sort of lookup query once per row, which is pretty expensive, and you have to write that yourself too! One thing - you could try switching which query is left and which is right, so the query with the fewest rows is the cached one. Miles > > A check should be there in the JoinOperation > > If(Pipeline.UseCache) > // then use the cachingEnumerable > else > // don't use it ... > > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/rhino-tools-dev/-/vLPKO9szxNcJ. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
