Главная страница
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.048 c
2-1272931604
Delphist2
2010-05-04 04:06
2010.08.27
передача управления


11-1218148886
cjfan
2008-08-08 02:41
2010.08.27
ошибка компиляции любого демо-проекта


15-1271655459
12
2010-04-19 09:37
2010.08.27
как бы компоненты в PHP :)


2-1270733493
Виктор
2010-04-08 17:31
2010.08.27
DBGrid и DBEdit


2-1269712810
ZeTToG350
2010-03-27 21:00
2010.08.27
Проблемма с окнами