在Linux上,getpid()
似乎是最简单的系统调用,以最佳地度量系统调用所需的时间。有人能给我推荐一个简单的windows系统调用吗?我可以用它来测量转换到内核模式和返回的时间吗?
我在谷歌上找到了MSDN网站上的Windows系统调用列表,但它们都提到了打开文件--这似乎很奇怪:
http://msdn.microsoft.com/en-us/library/t0wd4t32.aspx
我在Windows 7 64位上。
发布于 2014-07-30 23:09:02
我的建议(这只是基于直觉)是尝试
CloseHandle(NULL)
或
WaitForMultipleObjectsEx(0, NULL, 0, 0, FALSE)
理由是这应该是不可行的。然而,我没有任何证据支持这一点。
更新
在Win8.1 x64上进行一些基准测试表明(无文档的) NtDisplayString(NULL)
函数更快,其次是半文档化的NtAllocateLocallyUniqueId(&some_luid)
。您必须使用GetProcAddress
从NTDLL动态加载它们;签名如下:
NTSTATUS NTAPI PNtAllocateLocallyUniqueId(PLUID LUID);
NTSTATUS NTAPI PNtDisplayString(PUNICODE_STRING DisplayString);
https://stackoverflow.com/questions/25047726
复制相似问题