【发布时间】:2014-09-22 17:43:30
【问题描述】:
在 Linux 上,getpid() 似乎是最简单的系统调用,可以用来最好地衡量系统调用所花费的时间。有人可以向我推荐一个简单的 Windows 系统调用,我可以用来测量切换到内核模式并返回所花费的时间吗?
我在谷歌上搜索并在 MSDN 网站上找到了一个 Windows 系统调用列表,但它们都提到了打开文件——这看起来很奇怪:
http://msdn.microsoft.com/en-us/library/t0wd4t32.aspx
我使用的是 Windows 7 64 位。
【问题讨论】:
-
抱歉,
getpid()怎么给你计时相关的数据? -
我用的是time(0),看起来简单一些。在我 7 岁的戴尔上,Linux 12.04 每秒达到 13.2 兆次时间(0),但每秒只有 12.3 兆次 getpid()。抱歉,不是 Win 7 答案。
-
如果你能设法从用户模式调用它,我认为
PsGetProcessExitTime是我能找到的最简单的函数。 -
@RedAlert “调用最简单的系统调用以最好地测量系统调用所花费的时间”
-
@Mehrdad 已包含
但无法访问该功能。
标签: c++ windows operating-system system-calls