为什么加载保存的R文件会增加CPU使用率?

时间:2013-10-17 12:18:44

标签: r file-io cpu-usage

我有一个我想经常运行的R脚本。几个月前,当我写它并发起时,没有问题。 现在,我的脚本消耗了几乎所有(99%)的CPU并且它比以前慢了。我在服务器中运行脚本,并且其他用户在脚本运行时遇到来自服务器的慢响应。 我试图找出它缓慢的代码片段。以下循环几乎占用了脚本使用的所有时间和CPU。

for (i in 1:100){
    load (paste (saved_file, i, ".RData", sep=""))
    Do something (which is fast)
    assign (paste ("var", i, sep=""), vector)
}

每次迭代加载的数据大约为11 MB。当我在脚本上运行任意“i”时,加载文件步骤比其他命令花费更长的时间。 我花了几个小时阅读论坛帖子,但无法得到任何关于我的问题的提示。如果你能指出我是否遗漏某些内容或建议在R中加载文件的更有效方法,那就太棒了。

编辑:在代码中添加了空格,使其更易于阅读。

1 个答案:

答案 0 :(得分:0)

paste(saved_file, i, ".RData", sep = "")

在每次迭代时加载一个对象,名称为xxx1xxx2,依此类推。 您是否在循环结束时尝试rm对象?我猜这个对象会留在内存中,无论你的变量被重用。

  

只是一个提示:在代码中添加空格(就像我一样),它更容易阅读/调试。