最近一个课题要用到动态规划,循环那是一层套一层还很难向量化。

先用r写了一遍,发现跑完要五分钟,然后终于逮到机会用Rcpp了, 两秒完工。

…看来c++这门手艺还是不能丢,都是平时rstudio用的太多形成舒适区,导致任何问题第一反应都是【这个用r怎么做 】而不是按问题挑工具。

    用caret包训练模型的时候,不太多的数据,大概2000多行,10来列,有个模型跑了两天一夜。。。
    效率确实挺折磨人的。。

    yihui 更改标题为「Rcpp 贼啦快

    tctcab 很多任务用 C++ 太不方便了,比如读取数据,所以通常先用 R 完成前期操作,把主要瓶颈丢给 Rcpp,再把结果汇总画图什么的。而且结合 R 来测试 C++ 代码要容易很多,比如生成矩阵向量随机数之类的。如果自己写 C++ 来完成这些就太浪费时间了。还有一个我个人觉得很实用的功能是 evalCpp,比如突然想知道一个 C++ 表达式的结果是什么,按理还得写一个 std::cout 语句,编译,然后运行。R 里面直接 evalCpp("std::numeric_limits<double>::epsilon()") 就搞定了。

      Ihavenothing

      确实,cpp没有r/python这样的包系统,好多东西都得重复造轮子。