我正在 Intel Core-2Duo 平台上对 Microsoft VS 2005 中的 C 代码进行分析。我测量了我的函数所消耗的时间(秒:毫秒)。但我对这种测量的准确性有些怀疑,因为操作系统不会连续运行我的应用程序,而是在我的代码执行之间安排其他应用程序/服务。(虽然我在执行配置文件时没有运行主要应用程序运行,Windows 仍然会有很多自己的代码,它将通过抢占我的应用程序来运行。)。由于这一切,我认为分析编号(我的应用程序运行所花费的时间)不准确。
所以我的问题是有什么方法可以找出操作系统开销,在典型的 Windows 系统(我运行 Windows XP)上调度开销,例如,如果我的应用程序说它运行了 60 毫秒,那么在 60 毫秒中,真正的时间是多少?我的应用程序使用。由于被操作系统安排的其他任务抢占了,它闲置了多少时间?
或者
根据您在做类似事情时遇到的经验,至少有没有任何可能的数字来获得这样的操作系统开销?