2009-02-04 92 views

回答

7

这是一个免费的应用程序,由Larry McVoy和朋友写的LMBench。它提供了一堆操作系统&硬件基准测试 其中一个测试称为lat_ctx,它测量交换机的等待时间。 谷歌for lmbench并检查你自己的硬件。它是唯一让你的数字有意义的方法。

吉拉德

3

运行vmstat在您的机器上执行某些需要大量上下文切换的操作。它并不告诉你实际开关需要多长时间,但它会告诉你每秒有多少开关。

然后,您必须估计每个时间片执行实际代码所花的时间,与切换上下文相比。也许100:1还是什么?我不知道。 1000:1?

我的一台机器现在每秒钟执行大约3000个开关,即每个时间片0.3毫秒。如果比例为100:1,则表示实际开关需要0.003 ms。

但是,随着多内核,线程执行产生,等等等等,我难道不汲取这样的猜测:)

-1

我写的代码,是能够在200K呼应(小)UDP数据包的任何结论数据包每秒。

这表明可以在不超过2.5微秒的上下文切换,实际的上下文切换可能会比这少一些。

+1

您确定您正在切换上下文并且一次不从操作系统获取多个UDP数据包吗? – 2009-02-04 22:49:42

+0

好点 - 将需要考虑如何检查... – Alnitak 2009-02-04 23:01:22