使用多个线程读取CSV文件是否值得?

时间:2018-08-21 07:26:48

标签: multithreading performance csv parsing optimization

我刚刚注意到Fast C++ CSV Reader是GitHub上流行的仅标头的库,默认使用多个线程从磁盘读取CSV文件,并且想知道这对典型的硬件有何好处?

假设文件位于单个HDD或SSD上。

  • 通过顺序读取,似乎磁盘带宽已最大化。
  • 占用单个内核的单个线程应该能够完成足够的计算和内存写入,以跟上SSD的带宽(目前,对于三星960,带宽为3.5 MB /秒,甚至大于10 GB /秒)单个插槽上的DDR3内存,如今使用合理的消费类硬件轻松达到25 GB /秒的速度)

我什至不确定2个线程在HyperThreading的作用下是否真的会有很大帮助。

我计算错误,还是多线程CSV读取仅适用于更特殊的情况(RAM模拟磁盘分区/缓存在内存中的文件/多个磁盘等)?

0 个答案:

没有答案