Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Измерение времени выполнения внутри потока   Найти похожие ветки 

 
Unknown user ©   (2009-01-31 21:11) [0]

Подскажите, пожалуйста, API функцию для этой задачи. Помню, что такая присутствует, но никак не вспомню названия.


 
DVM ©   (2009-01-31 22:52) [1]

QueryPerformanceCounter() ?


 
Unknown user ©   (2009-01-31 23:05) [2]

Нет, мне надо измерить время которое поток затратил на выполнение определенных операций. GetTickCount использовать нельзя не в силу своей низкой точности, а из-за того, что Windows приостанавливает поток когда передает выполнение другим потокам.


 
Сергей М. ©   (2009-02-01 10:30) [3]


> Unknown user


Одна и та же операция в разных условиях м.б. выполнена потоком за разное время. Что толку в таких измерениях, если условия неподконтрольны ?

Можно, конечно, на время измерения установить real time - класс приоритета просесса и повысить приоритет потока до time critical, но подобного рода лабораторные эксперименты неприменимы в боевых условиях.


 
Leonid Troyanovsky ©   (2009-02-01 14:32) [4]


> Unknown user ©   (31.01.09 21:11)  

> Подскажите, пожалуйста, API функцию для этой задачи.

GetThreadTimes

--
Regards, LVT.


 
Unknown user ©   (2009-02-01 14:32) [5]

>Одна и та же операция в разных условиях м.б. выполнена потоком за разное время. Что толку в таких измерениях, если условия неподконтрольны ?

Мне нужно выяснить сколько времени поток затратил на загрузку данных, при этом параллельно идет загрузка в других потоках. То есть надо вычесть то время, которое поток простаивал, ожидая своей очереди.


 
Сергей М. ©   (2009-02-01 14:59) [6]


> Unknown user


Что такое "загрузка данных" ?


> время, которое поток простаивал


Информация о вынужденных "простоях" потока по "вине" планировщика доступна только планировщику.
GetThreadTimes не имеет доступа к этой информации.


 
Leonid Troyanovsky ©   (2009-02-01 15:13) [7]


> Сергей М. ©   (01.02.09 14:59) [6]

> GetThreadTimes не имеет доступа к этой информации.

Т.е., простои она не учитывает.

--
Regards, LVT.


 
Сергей М. ©   (2009-02-01 15:23) [8]


> Leonid Troyanovsky ©   (01.02.09 15:13) [7]


Разумеется.
Она учитывает только времена в kernel- и user-режимах, каждое из которых, в свою очередь, включает время вынужденного простоя.


 
Leonid Troyanovsky ©   (2009-02-01 15:42) [9]


> Сергей М. ©   (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.


 
Сергей М. ©   (2009-02-01 16:25) [10]


> Leonid Troyanovsky ©   (01.02.09 15:42) [9]


Здесь

http://msdn.microsoft.com/en-us/library/ms683237(VS.85).aspx

это уточнение отсутствует.

Приведи ссылку, где оно есть ?


 
Leonid Troyanovsky ©   (2009-02-01 17:44) [11]


> Сергей М. ©   (01.02.09 16:25) [10]

> Приведи ссылку, где оно есть ?

Его ныне нет. Но оно было и осталось, скажем, в mobile.
См. также SDK 2000.

--
Regards, LVT.


 
han_malign ©   (2009-02-05 15:03) [12]

HKEY_PERFORMANCE_DATA



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1268429405
Юрий
2010-03-13 00:30
2010.08.27
С днем рождения ! 13 марта 2010 суббота


8-1205515629
nuflin
2008-03-14 20:27
2010.08.27
шейдеры


2-1271443216
fiascko
2010-04-16 22:40
2010.08.27
invalid floating point operation


3-1242392291
denis24
2009-05-15 16:58
2010.08.27
обрыв канала связи,выключение сервера


2-1273148921
ИванВ
2010-05-06 16:28
2010.08.27
ScrollBar