【发布时间】:2018-10-12 21:04:40
【问题描述】:
我正在使用并行包来获得更好的 CPU 利用率,我认为它会显着减少计算时间。但是我得到了相反的结果,虽然我得到的 4 个内核的 CPU 利用率几乎达到 100%,但时间结果表明使用并行产生的结果比不使用它的最差。怎么会这样?这是包裹的问题吗?我还缺少其他东西吗?我的代码很大,所以我不能在这里展示它..
time without parallel 45 sec 1.04 min 1.5 min 6.14 min
time with parallel 1.3 min 1.7 min 2.3 min 14.5 min
number of variables 78 78 78 870
number of rows 30k 50k 70k 70k
【问题讨论】:
-
你的代码是什么?使用并行处理有很大的开销,因此如果您尝试并行化许多短操作,那么设置并行处理所花费的时间将超过您节省的时间,并且您的代码会变慢。
-
嗨@divibisan,我的代码包含很多小组件,所以如果我对每个组件的理解正确,是否有单独的并行处理设置?如果是这样,您是否熟悉另一种方法来减少一个大脚本文件中大量小组件的时间?
-
我不是真正的专家,但还有很多其他问题,由更有知识的人回答可能会有所帮助:stackoverflow.com/questions/24633605/…、stackoverflow.com/questions/6036120/…
-
@migdalmenora 没有代码很难说。
-
阅读 cmets,我的代码有几个随机启动,还有很多小代码组件,所以我知道使用并行将无济于事。那么我可以使用什么其他方式来获得更快的计算?
标签: r performance time parallel-processing