比较fread与read.table的速度,用于读取100M中的前1M行

KTY*_*KTY 6 r dataframe data.table

我有一个14GB的data.txt文件.我通过读取前1M行来比较速度fread和速度read.table.它看起来好fread得慢,虽然它不应该是.显示百分比计数需要一些时间.

可能是什么原因?我认为它应该超级快......我正在使用Windows操作系统计算机.

mne*_*nel 9

fread mmap是文件.这需要一些时间,并将映射整个文件.这意味着后续的"读入"将更快.

read.table不是mmap整个文件.它可以逐行读取文件[并在第1000000行停止].

你可以在mmapat 和阅读块上看到一些背景知识mmap()

帮助中的示例fread 突出显示了这种行为

  • @KTY我们可以加快阅读前N行.只是不是优先级,因为通常你想读取整个文件.我提交了一个功能请求[#1300](https://github.com/Rdatatable/data.table/issues/1300). (3认同)
  • 是的,看起来主要区别在于阅读大文件...现在阅读整个14GB文件,与`read.table`相比,速度非常快.感谢关于`mmap`的信息. (2认同)