Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.078 c
3-1240484531
harisma
2009-04-23 15:02
2010.08.27
Результат выполнения команды RESTORE VERIFYONLY


4-1231256834
Xan
2009-01-06 18:47
2010.08.27
Получение Handle окон по их PID


15-1273733385
12
2010-05-13 10:49
2010.08.27
Проще или красивее, не?


15-1269450049
Zver
2010-03-24 20:00
2010.08.27
Дискреционная политика безопасности.


15-1273868996
Юрий
2010-05-15 00:29
2010.08.27
С днем рождения ! 15 мая 2010 суббота




   Наверх