我正在处理 8Gb ( HIGGS dataset) 的大型数据集。在查看 dbplyr
包的插图时(参见 vignette('dbplyr')
),我遇到了这一行,
(If your data fits in memory there is no advantage to putting it in a database: it will only be slower and more frustrating.)
HIGGS 数据集确实适合我机器的内存,我的问题是:
- 这总是是真的吗?如果不是,那什么时候不是真的?
- 更一般地说,将数据保留在内存之外是否有任何性能优势,即使它适合,为什么?
编辑:查看@Waldi 提供的链接后:RAM 100x faster than HDD ,另一个问题是这对 SSD 有何影响?
最佳答案
R 是内存密集型的,因此最好获得尽可能多的 RAM。您拥有的 RAM 数量会限制您可以分析的数据集的大小。
添加固态驱动器 (SSD) 通常不会对 R – vignette(dbplyr)
的速度产生太大影响,因为 R 会将对象加载到 RAM 中。然而,启动时间的减少和increase in your overall productivity since I/0 is much faster购买 SSD 驱动器非常划算。
library(benchmarkme)
是用于评估您的 CPU 数字运算能力的包 benchmarkme。 CPU 内核是您想要探索大数据性能的另一个领域。如果您使用的是 CPU,内核越多越好。
library(Multidplyr)
是 dplyr
的后端 partitions a data frame across multiple cores.
这最大限度地减少了移动数据所花费的时间,并最大限度地提高了并行性能。
关于r - 什么时候在 RStudio 中将数据存储在内存之外变得有益?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63354388/