zlfccnu 最近由于处理数据集相对比较大,台式机8G内存不够用,于是找到bigmemory包,用于处理大型矩阵的操作。速度不慢,但是由于有些数据必须用list的格式来存储,bigmemory中没看到有big list这种数据结构。然后我又找到了filehash这个包,可以创建一个磁盘数据库来存储对象,当然数据结构不限,但是缺点就是速度受限于磁盘IO。不知道各位有没有好的方法应对这种情况的?bigmemory为啥能做到在不占用内存的情况下依然保持较快的速度?
renkun-ken 最近在弄一个新的扩展包,为list操作提供工具,实现subset,update,summary,plot等方法,类似于nosql的操作方式,不过目前仍然在初级阶段,还不能高效地处理很大的list。 参建GitHub项目:rlist (https://github.com/renkun-ken/rlist) 有兴趣的朋友也可以做贡献。
zlfccnu 回复 第1楼 的 zlfccnu:我也碰到过这个问题,最后没办法还是用了big.matrix方式,filehash这个包出来有段时间了,确实是受到磁盘io的限制,速度很捉急。你在使用bigmemory包的时候有没有碰到filebacked big.matrix 不能保存在RData文件中的问题?就是保存之后如果再次载入,就会因为指针问题,引起崩溃。对大list的磁盘存储操作还真是没发现