我曾经发布过一些boost多线程。这一次我只是好奇和失望,因为我认为多线程应该比单一线程更快。C++ Boost由于CPU类型,多线程比单线程慢?
两个线程文件I/O读取/解析CSV数据。当我使用多线程时,每台机器PENTIUM D CPU从DELL DESKTOP OPTILEX 745平均花费约40秒。
单线程,平均花费大约8-10秒。
我曾试图从这些两个线程使用完全不同的参数的名字,结果是没有什么不同。如果有人曾经使用C++ boost多线程读取大数据文件和解析之前,我很想听听你的意见。谢谢。 Andrew
感谢您的意见。您可能对共享读/写内存的正确性可能会减慢以处理数据。一位先生提到,如果两个文件存储在同一个磁盘上,可能会导致硬盘问题,碎片和性能。 – AndrewS 2011-05-21 05:09:17
是的,如果你没有连续阅读文件,那会给你驱动器的随机读取性能(特别是对于小块),而不是驱动器能够连续读取的性能......前者通常*很*慢。 – Jason 2011-05-21 05:58:09