包fst
http://www.fstpackage.org/fst/为数据帧提供多线程压缩和读写。
我正在运行贝叶斯模型,它又brms
大又慢。我想将结果保存到磁盘以供将来重复使用。使用它们在磁盘上大约saveRDS()
有compress = "xz"
200MB,当然,压缩需要很长时间,并且需要大量时间来读取和解压缩。
fst
实现快速、多线程的 zstd 压缩。
x <- list(
a = mtcars,
b = as.POSIXlt("2021-01-01 14:00:05"))
saveRDS(compress_fst(serialize(x, NULL), compression = 100),
file = "test_fst.RDS")
x2 <- unserialize(decompress_fst(readRDS("test_fst.RDS")))
all.equal(x, x2)
退货TRUE
和我所做的其他快速测试表明这一切都很好。
我是否遗漏了获取任意R
对象、对其进行序列化、将其传递给compress_fst()
然后将压缩对象写入磁盘的任何缺点或缺点?