【问题标题】:Read text file using OpenMP使用 OpenMP 读取文本文件
【发布时间】:2016-04-01 18:55:40
【问题描述】:

我正在尝试使用浮点数组优化读取文本文件。

并行化这个过程会很棒。一种可能的方法是使用mmap。但是我不知道如何实现它,因为似乎不清楚如何划分文件,特别是如果浮点数具有不同的格式,例如:1.0 123.23 0.1145 等等。

如果有任何其他建议如何优化阅读速度,我会很高兴听到他们。

感谢您的回复!

【问题讨论】:

  • 除非您拥有合适的硬件,否则不要浪费时间尝试并行读取磁盘。想想当多个进程/线程争夺对磁盘上单个驱动器磁头的访问时会发生什么。

标签: performance io openmp mmap


【解决方案1】:

首先找出瓶颈在哪里。根据我的经验,从文本文件中读取浮点数可能会很慢,这不是因为 I/O 速度慢,而是因为解析文本数字。如果是这种情况,将整个文件作为文本读入内存(通过单个进程;这里可能没有并行化的好处)然后由多个线程并行解析它可能会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 2010-11-27
    • 2012-05-26
    • 2012-09-04
    • 2016-02-16
    • 2016-04-17
    • 2013-04-12
    相关资源
    最近更新 更多