Можно ли узнать, сколько ЦП использует текущий поток? - PullRequest
3 голосов
/ 24 декабря 2011

Я пишу планировщик задач для выгруженных задач в игровом движке, и я хочу, чтобы он настраивался сам на основе нескольких эвристик.Можно ли узнать, как долго текущий поток был выполнен между двумя моментами времени?Я хочу определить, сколько времени занимает выполнение задач, и я бы хотел, чтобы это время исключало переключение потоков по нескольким причинам (это более точное измерение, плюс было бы полезно узнать, сколько переключаются мои потоки).Я хотел бы найти решение для Linux, но было бы также полезно Windows решение

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Пример кода из pthread_getcpuclockid () man page указывает, что вы можете использовать clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts).

1 голос
/ 24 декабря 2011

Попробуйте посмотреть / proc / [pid] / task / [tid] / stat

Формат похож на / proc / [pid] / stat и объяснен здесь: http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...