【问题标题】:foreach %dopar% - guarantee on order of results?foreach %dopar% - 保证结果的顺序?
【发布时间】:2011-11-06 01:53:00
【问题描述】:

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

【问题讨论】:

    标签: r foreach


    【解决方案1】:

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

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

    【讨论】:

    • 尼克 - 谢谢!我很欣赏执行顺序和结果顺序之间的区别
    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 2012-12-21
    • 2014-08-05
    相关资源
    最近更新 更多