级联合并效率

时间:2015-04-15 00:26:39

标签: cascading

有2个管道pipe1pipe2要与另一个管道pipe0合并。

执行

之间是否有任何效率差异
pipe0 = new Merge(pipe0, pipe1, pipe2);

pipe0 = new Merge(pipe0, pipe1);
pipe0 = new Merge(pipe0, pipe2);

如果是,那么幕后发生了什么?

1 个答案:

答案 0 :(得分:0)

我认为第二个是效率最高的一个。这是因为第一个必须合并大量数据,而第二个将多次合并较小数据集。因此,第一个可能会以牺牲内存为代价而快速升级。由您来决定。

看看Merge类的实现。 https://github.com/cwensel/cascading/blob/30c4b21552ad0db4e3ed3fe8dfed3e702945851a/cascading-core/src/main/java/cascading/pipe/Merge.java