提高R语言速度--转载

1.     参考《R语言编程艺术》(Norman Matloff)

chapter 14 & chapter 15

2.     方法

(1)向量化 

与非向量化-循环做个对比:

(2)R中调用C或cpp

通过Rstudio建立R包,R包中可以联合使用cpp。仅拿循环做个例子,cpp中做循环的速度秒杀R。

查看R包的源文件,可以发现许多R包其实是用了.cpp的!

(3)多线程

若在Rgui中直接运行程序,1个核跑1个Rgui;若电脑有4个核,就可以开4个Rgui跑4个程序。

使用多线程,就能多核运行了,算法运行时间必然缩短。

可以通过任务管理器观察cpu的运行情况。

对于4核系统,开3个还是4个线程呢?若开4个线程,cpu占用率将达到100%,再加上调用开销,说不定不如开3个核划算。

 

3.   其他参考推荐

book【R高性能编程】(by Aloysius Lim)

posted @ 2018-05-21 15:43  nkwy2012  阅读(1056)  评论(0编辑  收藏  举报