没有一个明确的答案,但下面的时候,它走上加载相同的数据帧读取作为.tab
与文件utils::read.delim()
,readr::read_tsv()
,data.table::fread()
和作为一个二进制.RData
文件中使用定时system.time()
功能:
.tab
同 utils::read.delim
system.time(
read.delim("file.tab")
)
# user system elapsed
# 52.279 0.146 52.465
Run Code Online (Sandbox Code Playgroud)
.tab
同 readr::read_tsv
system.time(
read_tsv("file.tab")
)
# user system elapsed
# 23.417 0.839 24.275
Run Code Online (Sandbox Code Playgroud)
.tab
同 data.table::fread
在@Roman的请求中,同样的~500MB文件在3秒内加载:
system.time(
data.table::fread("file.tab")
)
# Read 49739 rows and 3005 (of 3005) columns from 0.400 GB file in 00:00:04
# user system elapsed
# 3.078 0.092 3.172
Run Code Online (Sandbox Code Playgroud)
.RData
同一数据帧的二进制文件system.time(
load("file.RData")
)
# user system elapsed
# 2.181 0.028 2.210
Run Code Online (Sandbox Code Playgroud)
显然不是明确的(样本大小= 1!),但在我的情况下,500MB数据帧:
.RData
是最快的data.frame::fread()
紧随其后readr::read_tsv
比慢一个数量级utils::read.x
是最慢的,只有一半快 readr
归档时间: |
|
查看次数: |
907 次 |
最近记录: |