测量线程费用

Mic*_*tov 5 .net concurrency performance multithreading

Joe Duffy在MSDN文章" 使用并发性可伸缩性 "中指出,创建线程的成本大约为200,000个周期,并且销毁的成本大约为100,000个周期.

当我尝试创建一个新线程来执行一些计算时,我想确保计算本身比200,000个周期更昂贵.

我怎样才能测量CPU周期?我认为这比测量执行时间更有趣.

Rob*_*ker 2

您可以使用 Intel 的 Vtune 之类的采样分析器来测量正在消耗的 CPU 周期数,同时对所测量的系统造成最小的干扰。

然而,当使用线程时,目标是避免不必要地产生新线程。研究使用线程池。这将允许您异步运行工作项,但不必为每个项目生成一个新线程。