【发布时间】:2011-01-06 19:16:25
【问题描述】:
有时代码可以利用设备驱动程序直到系统无响应。
最近我优化了一个 WIN32/VC++ 代码,它使系统几乎没有响应。但是,CPU 使用率非常低。原因是 GDI 对象(钢笔、画笔等)的创建和销毁数以千计。一旦我将代码重构为只创建一次所有对象 - 系统就会再次响应。
这让我想到一个问题:有没有办法测量给定程序/函数/代码行的设备驱动程序(GPU/磁盘/等)的 CPU/IO 使用率?
【问题讨论】:
-
如果你想看到你的程序的整体效果,打开进程资源管理器,查看系统进程下的线程,以及csrss.exe下的线程。不确定是否可以将其与行/方法等相关联。
-
看看this method。它的测量结果非常粗略,但它可以准确地告诉您,直到代码行、花费的时间以及是 I/O 还是 CPU。
标签: c++ windows debugging device-driver measurement