在Windows上以C计算CPU时间
在C中有什么方法可以计算在CPU时间内运行给定程序或例程需要多长时间?
我使用在Windows 7上运行的Visual Studio 2008.
如果你想知道一个进程使用的CPU总时间,那么clock和rdtsc(直接或通过编译器内在)都不是最好的选择,至少是IMO.如果您需要可移植的代码,那么您可以做的最好是使用时钟,尽可能将系统测试为静态,并希望最好(但如果您这样做,请注意时钟的分辨率是CLOCKS_PER_SEC,可能是也可能不是1000,即使它是,你的实际定时分辨率往往不会那么好 – 它可能给你几毫秒的时间,但至少通常一次提前几十毫秒).
但是,由于您似乎不介意特定于Windows的代码,因此您可以做得更好.至少如果我对你正在寻找的东西的理解是正确的,你真正想要的可能是 在任何情况下,如果你真的想要从开始到结束的时间,GetProcessTimes将允许你这样做 – 如果你产生程序(例如,使用CreateProcess),你将获得一个过程的句柄,当孩子将发出信号进程退出.然后,您可以在该句柄上调用GetProcessTimes,并检索时间,即使子项已经退出 – 只要该进程的至少一个句柄保持打开,句柄将保持有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows-server-2008 – Windows EC2机器上的固定MAC地址
- 用于Windows的python os.mkfifo()
- 窗口 – 当开始与Qt框架,什么选择 – 小部件或QT快?
- 计时器在Windows批处理文件中
- win10激活错误,软件授权服务报告无法激活计算机怎么办?
- 访问Microsoft Band SDK(PC和Android)
- Windows 多线程编程入门(2)
- windows-server-2008 – Windows Update无法在Windows Serv
- windows-phone-7 – IsolatedStorageSettings.ApplicationS
- .net – 在Windows应用商店应用中保存文件