当前位置:天才代写 > tutorial > 其他教程 > R的内存打点问题

R的内存打点问题

2017-12-05 08:00 星期二 所属: 其他教程 浏览:324

昨天在公司的技能交换会上谈到了R的内存打点问题,有点意思,不外这个较量底层的东东我分明还不多。


 


R用的是所谓的GC(Garbage Collection)的内存打点方法,它在措施靠山自行打点内存,使编程人员挣脱一些计较机细节,而专注于措施的逻辑主体。今朝利用这种方法的编程语言包罗Java、C#、S(R属于S的变种)等。在这种方法下,应用措施中删除的变量不会当即释放内存空间,GC会自行计较最优的机缘来举办统一的清理,举个简朴的例子:



 

我们在32位4G内存Win7操纵系统上用R做千万次级此外显示轮回(临时没想到怎么非显式),该轮回的成果就是重复对同一个变量赋值,可是轮回到必然的时候操纵系统会因内存耗尽而死机,原因大概是R的GC内存打点方法造成的,举个例子:



 

对同一个变量重复赋值,内存耗损却不绝变大,揣摩是一些中间隐形的东东给占用了。一个很是笨的步伐就是将这千万次轮回拆分成许多个子轮回,每个子轮回完了之后再gc()一下。在不改变硬件设施而且时间不能慢死人的条件下,不知道哪位客长有没有更好的办理方案?


 


【附1】统计之都论坛对此问题的接头:http://cos.name/cn/topic/106566
【附2】统计之都论坛对R快速运算的接头::http://cos.name/cn/topic/106723

 

    关键字:

天才代写-代写联系方式