0

fsthttp://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()然后将压缩对象写入磁盘的任何缺点或缺点?

4

0 回答 0