测量Windows上每个线程的CPU时间

时间:2010-05-28 14:04:22

标签: python windows multithreading cpu-usage

我正在为Windows开发一个长期运行的多线程Python应用程序,我希望该进程知道每个线程所占用的CPU时间。我可以使用os.times()获取整个过程的总时间,但我需要知道每个线程的时间。

我知道有一些外部工具,例如Sysinternals Process Explorer,但我的程序本身需要有这些信息。如果我在Linux上,我会查看/proc文件系统as described here。如果我正在编写C代码,我会使用GetThreadTimes调用as described here

那么如何在Windows上使用Python实现这一目标呢?

2 个答案:

答案 0 :(得分:1)

win32process.GetThreadTimes

你希望Python for Windows Extensions做毛茸茸的窗户。

答案 1 :(得分:1)

或者你可以简单地使用yappi。 (https://code.google.com/p/yappi/)如果选择CPU时钟类型进行性能分析,它会透明地使用GetThreadTimes()。

另见示例:https://code.google.com/p/yappi/wiki/YThreadStats_v082