-
Подскажите, пожалуйста, API функцию для этой задачи. Помню, что такая присутствует, но никак не вспомню названия.
-
QueryPerformanceCounter() ?
-
Нет, мне надо измерить время которое поток затратил на выполнение определенных операций. GetTickCount использовать нельзя не в силу своей низкой точности, а из-за того, что Windows приостанавливает поток когда передает выполнение другим потокам.
-
> Unknown user
Одна и та же операция в разных условиях м.б. выполнена потоком за разное время. Что толку в таких измерениях, если условия неподконтрольны ?
Можно, конечно, на время измерения установить real time - класс приоритета просесса и повысить приоритет потока до time critical, но подобного рода лабораторные эксперименты неприменимы в боевых условиях.
-
> Unknown user © (31.01.09 21:11)
> Подскажите, пожалуйста, API функцию для этой задачи.
GetThreadTimes
-- Regards, LVT.
-
>Одна и та же операция в разных условиях м.б. выполнена потоком за разное время. Что толку в таких измерениях, если условия неподконтрольны ?
Мне нужно выяснить сколько времени поток затратил на загрузку данных, при этом параллельно идет загрузка в других потоках. То есть надо вычесть то время, которое поток простаивал, ожидая своей очереди.
-
> Unknown user
Что такое "загрузка данных" ?
> время, которое поток простаивал
Информация о вынужденных "простоях" потока по "вине" планировщика доступна только планировщику. GetThreadTimes не имеет доступа к этой информации.
-
> Сергей М. © (01.02.09 14:59) [6]
> GetThreadTimes не имеет доступа к этой информации.
Т.е., простои она не учитывает.
-- Regards, LVT.
-
> Leonid Troyanovsky © (01.02.09 15:13) [7]
Разумеется. Она учитывает только времена в kernel- и user-режимах, каждое из которых, в свою очередь, включает время вынужденного простоя.
-
> Сергей М. © (01.02.09 15:23) [8]
> Она учитывает только времена в kernel- и user-режимах, каждое > из которых, в свою очередь, включает время вынужденного > простоя.
These times do not include time spent executing system threads or waiting in a suspended or blocked state.
-- Regards, LVT.
-
-
> Сергей М. © (01.02.09 16:25) [10] > Приведи ссылку, где оно есть ?
Его ныне нет. Но оно было и осталось, скажем, в mobile. См. также SDK 2000.
-- Regards, LVT.
-
HKEY_PERFORMANCE_DATA
|