【问题标题】:Reading a Large text file or reading 2 identical divided text file faster, when thread is taken into account考虑线程时,更快地读取大文本文件或读取 2 个相同的分割文本文件
【发布时间】:2011-06-08 08:43:56
【问题描述】:

关于线程中文件读取的问题。

读取一个 10MB 的文本文件,或读取两个 5Mb 的文件,这与 10Mb 的文件相同,哪个更快?假设处理单元由多线程组成。

【问题讨论】:

  • 写一个测试并测量它。这将取决于您的存储(SSD 和硬盘可能会有所不同)、存储上的文件布局、您的操作系统和运行时库的缓存,可能还有月相。

标签: multithreading performance language-agnostic file-io


【解决方案1】:

如果您从磁盘读取文件,我会猜测非线程、单个 10MB 文件方法会更快,因为否则您将有两个线程竞争使用相同的共享资源,这在这种情况下,也可能是链条中最慢的部分。如果您将这两个文件保存在不同的物理磁盘上,这可能会改变。

找出答案的最佳方法是为这两种方法编写代码,并在要运行的设置中测量它们的性能。

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多