|
本帖最后由 yukuang 于 2015-2-2 18:45 编辑
碰到一个大大的矩阵运算,时间和空间复杂度都是平方。使用普通的R函数解决,碰到问题:
1、普先碰到了烦人的cannot allocate vector of size 595.8Mb。我的内存是4G,也运行了memory.limit(4000),为何到了595.8Mb就不让用了?
2、听说ff或bigmemory可以解决内存问题,在winxp下尝试了一下ff,但是用了ff很多现成的R函数就不能用了,听说是必须使用ff版的R函数才行。
3、那就牺牲时间换空间吧,总比新买些内存强啊。用了for循环较慢,又听说apply在效率上和for差不多(没试过),被老板批效率太低。
4、又试了下Rcpp,ff,C++,Eigen,boost等的组合,发现太痛苦了,程序逻辑倒不算复杂,多种语言(库)的糅合,最痛苦的就是数据类型(数据结构)的转换让人眼花。
高手们能否给兄弟指条路,到底用哪种语言或技术才能获得时间和空间都略加满意的结果,matlab是不是比R强些?非得把兄弟往map/reduce上逼吗?
|
|