标签: c++ c multithreading performance
假设你有一个多线程程序,每个线程可以从DLL调用一个函数,并且该DLL中的函数将以多线程方式处理数据,一般来说,通过执行是否有任何性能优势/命中这个而不是在DLL单线程中使这些函数?
答案 0 :(得分:2)
也许,也许不是。这取决于很多事情。
首先,产生新线程非常昂贵,因此并行完成的工作量需要抵消这个成本。
其次,这些线程需要有多余的CPU周期才能实际并行运行,而不是按时间分片到同一个内核上。
最后,线程需要能够使用那些备用CPU周期,而不是花费大部分时间等待彼此。