问题:
R语言进行计算,40M的数据,串行情况下内存消耗大约1G作用,耗时半小时,使用并行,打开2个线程,内存瞬间飙升到30G,且耗时超级久。
原因:
首先,不是程序本身的问题。R语言主要用于计算,本身并行机制并不完善,所以不适合做并行。
R语言并行机制:
这篇博客介绍的很详细
https://blog.youkuaiyun.com/a358463121/article/details/51695054
但是也有一些自己踩的坑:
1、文章提到的,在创建集群是加入“FORK”(linux,MAC OS)或者 "SPOCK"(windows)来控制内存,并不起作用;
2、R语言并行并不一定会快,在处理大数据时,很可能会变得超级慢;
3、总结一点:R语言在处理大数据时要慎用,为了节省时间,可以考虑用matlab进行处理。