多线程就是将任务切片分配给多个核心处理。
举个不恰当的例子,apply函数,就可以将矩阵、数据框按照行(列)等切片,然后多行(列)同时处理,速度就会快很多。相比之下,for循环就很慢,因为后面的必须一个挨一个排队执行。如果将任务交给多个处理器,就会有类似apply的效果。
可用到的R包
- parallel
The parallel package which comes with your R installation. It represents a combining of two historical packages–the multicore and snow packages, and the functions in parallel have overlapping names with those older packages. - BiocParallel
问题
对于有的计算只能串行,下一步的执行依赖上一步的结果。此种情况下如何多核心串行运算,加快速度?
网友评论