foreach%dopar% - 保证结果的顺序?

时间:2011-08-29 14:18:32

标签: r foreach

默认情况下(no .combine),foreach /%dopar%在列表中返回结果。列表中的结果顺序是否保证与循环/迭代的顺序相匹配?换句话说,顺序是否与顺序迭代时相同?或者,当并行任务完成时,列表是否会填充?浏览文档时,我看到有一个.inorder参数,但它似乎只适用于使用.combine函数。

1 个答案:

答案 0 :(得分:23)

当通话结束时,foreach的结果将与“正常”循环的顺序相同。但是,不能保证它们到达那里的顺序:理论上(当并行化时,也在实践中),第一项可能比第二项填写得晚。

因此,您无法保证执行顺序(例如,进度条或日志记录可能会被拼凑),但您可以放心,结果将按您期望的顺序排列。