R语言多线程运算操作(解决R循环慢的问题)
R语言parallel包可以帮助实现多线程。时间开销对比两段对比代码显然在数据量比较大的时候,并行计算的时间几乎就是于核数反比。出现内存问题的时候,需要检查是否代码是否合理,R语言版本,核分配是否合理。上一级环境中变量的引入R语言里边对于环境变量有着有趣的定义,一层套一层,这里不做深入展开。foreach包除了parallel包以外,还有针对并行for循环的foreach包,foreach()的使用也与parLapply()类似,两个功能也类似,其中遇到的问题也类似。同时%do%需要改成%dopar%。另外与parallel包不一样的是,需要多加一句registerDoParallel来注册核进行使用。上一级环境中变量的引入同parallel包并行计算前需要clusterExport()来引入全局变量一样,foreach也同样需要声明,不同的是,foreach声明方式直接写在foreach()的参数export里边。
用户评论