qs:R对象的快速序列化
qs是一个R语言包,使用qs可以快速地从磁盘中保存和读取对象。** 它的主要目的是替换R中的saveRDS和readRDS函数,提供了一个更加快速而完整的数据读写方法。 ** 受到fst的启发,qs通过lz4/zstd库使用了类似的块压缩设计。它的不同之处在于,对属性和对象的引用设计了更普适的方法。一方面,saveRDS和readRDS是R数据序列化的标准,但是这些函数没有针对速度进行优化;另一方面,fst非常快,但只适用于部分数据类型如data.frame。qs结合了两者的优点,能够做到更加快速的储存数据,适用于各种类型的对象。
下表比较了R中不同序列化方法的特性
具体操作代码
# install.packages('qs') # 安装qs包
subsc <- readRDS('subsc.Rds') # 读取一个Rds对象
library(qs) # 加载qs包
qsave(subsc,'subsc.qs',nthreads = 8) # 保存为qs对象
subsc2 <- qread('subsc.qs',nthreads = 8) # 加载qs对象