Joe Duffy在MSDN文章“使用并发实现可伸缩性”中指出,创建一个线程的成本大约为200,000个周期,销毁的成本约为100,000个周期。
当我尝试创建一个新线程来执行一些计算时,我想确保计算本身比200,000个周期更昂贵。
我如何测量CPU周期?我认为这比测量执行时间更有趣。
当我尝试创建一个新线程来执行一些计算时,我想确保计算本身比200,000个周期更昂贵。
我如何测量CPU周期?我认为这比测量执行时间更有趣。
我几天前问了一个相关的问题,但还没有找到一种测量代码实际CPU周期使用情况的方法: 限制汇编执行CPU周期数
在你的情况下,你不能运行一次计算的分析,看看单个计算需要多长时间,然后将其与生成执行计算的线程的总时间进行比较,然后杀死线程吗?
计算 CPU 循环的问题在于不同的 CPU 执行相同指令所需的循环数是不同的,因此这并不是一个可靠的度量标准。我认为你应该测量的是执行时间,在 .NET 中,你可以使用 System.Environment.TickCount 来实现这一点。我认为这是你最好的选择...