亲身经历:软件线程数量超过硬件线程数量造成的性能问题

实现了一个简单的任务系统(Task Scheduler),用于多线程任务执行。

由于编程上的疏忽,比实际的硬件线程多创建了一个线程用于执行任务。

任务执行的部分,在Profiling工具里面,一直是耗时的部分。

发现了这个问题之后,改正,整个执行时间几乎变为原来的一半。

具体理论解释可以看这篇文章:

http://www.codeguru.com/cpp/sample_chapter/article.php/c13533/Why-Too-Many-Threads-Hurts-Performance-and-What-to-do-About-It.htm

原文地址:https://www.cnblogs.com/len3d/p/4675455.html