Измерение процессорного времени на поток в Windows - PullRequest
2 голосов
/ 28 мая 2010

Я занимаюсь разработкой многопоточного многопоточного приложения Python для Windows и хочу, чтобы процесс знал время процессора, которое занял каждый его поток. Я могу получить общее время для всего процесса с помощью os.times () , но мне нужно знать время для каждого потока.

Я знаю, что есть внешние инструменты, такие как Sysinternals Process Explorer, но моя программа должна иметь эту информацию. Если бы я работал в Linux, я смотрю в файловой системе /proc, , как описано здесь . Если бы я писал код на C, я бы использовал вызов GetThreadTimes, , как описано здесь .

Так, как я могу сделать это в Windows, используя Python?

Ответы [ 2 ]

1 голос
/ 08 января 2014

Или вы можете просто использовать yappi. (https://code.google.com/p/yappi/) Он прозрачно использует GetThreadTimes (), если для профилирования выбран тип тактовой частоты процессора.

См. Здесь также пример: https://code.google.com/p/yappi/wiki/YThreadStats_v082

1 голос
/ 29 мая 2010

win32process.GetThreadTimes

Вы хотите, чтобы Python для Windows * Extensions делал вещи для Windows.

...