首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >评测时的操作系统开销?

评测时的操作系统开销?
EN

Stack Overflow用户
提问于 2008-09-09 13:31:28
回答 5查看 232关注 0票数 1

我正在Intel Core-2 2Duo平台上对Microsoft VS 2005中的一个C代码进行评测。我测量函数所用的时间(秒:毫秒)。但我对这种测量的准确性有一些怀疑,因为操作系统不会持续运行我的应用程序,而是在我的代码执行之间调度其他应用程序/服务。(虽然我在运行配置文件时没有运行主要的应用程序,但windows仍然会有很多自己的代码,它们将通过抢占我的应用程序来运行。)正因为如此,我认为分析数字(我的应用程序运行所用的时间)是不准确的。

所以我的问题是,有没有办法找出典型的windows系统(我运行的是Windows XP)的操作系统开销和调度开销,例如,如果我的应用程序说它运行了60毫秒,在这60毫秒中,我的应用程序到底使用了多少时间。由于被操作系统安排的其他任务抢占,它有多长时间处于空闲状态?

至少,根据你在做类似事情时遇到的经验,有没有一个大概的数字来获得这样的操作系统开销?

EN

回答 5

Stack Overflow用户

发布于 2008-09-09 13:41:50

@Kogus:即使我在调试器外部运行(独立的应用程序。从命令提示符),它仍然可能被操作系统抢占,并导致错误地测量我的应用程序所消耗的时间。

不是吗?

-AD

票数 1
EN

Stack Overflow用户

发布于 2008-09-09 13:50:39

我认为你在粒度上会有一些问题。请参阅类似的问题GetLocalTime() API time resolution和Is gettimeofday() guaranteed to be of microsecond resolution?

此外,您可能希望查看包含timeit.exe (类似于unix/linux上的time )的Windows Resource Kits Tools,以提供运行时间和处理时间。

票数 1
EN

Stack Overflow用户

发布于 2008-09-09 13:33:49

建议

尝试在多CPU系统上运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档