• 提高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)

  • 相关阅读:
    sed 使用总结
    rgmanager 介绍
    linux nbd & qemu-nbd
    corosync基本使用
    svn 基本使用
    tornado 实践
    mysql mac启动
    postgresql
    django
    django
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/9067541.html
Copyright © 2020-2023  润新知