9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
||||||
1 | ||||||
Измерение времени выполнения потока13.03.2010, 13:08. Показов 10699. Ответов 26
Метки нет (Все метки)
2) Как теперь измерить время работы обоих потоков?
0
|
13.03.2010, 13:08 | |
Ответы с готовыми решениями:
26
Измерение времени выполнения Измерение времени выполнения функции Измерение времени Измерение времени |
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 13:10 | 2 |
1) Смотря что ты подразумеваешь под словом "правильно".
2) GetThreadTimes.
1
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 13:15 [ТС] | 3 |
1) чтобы потоки не перекрыли друг друга и один не смог выполниться?
2) спасибо
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 13:26 | 4 |
Не совсем понял, что ты имеешь ввиду. Потоки выполнятся так или иначе без всяких изменений приоритетов, здесь это не к чему.
Обычно изменение приоритета необходимо при создании потока выполняющего некую фоновую работу некритичную по времени работу, например, сборку мусора. В таком случае можно понизить его приоритет по сравнению с основным потоком, чтобы поток, выполняющий фоновую работу, занимался ею когда основному потоку делать нечего.
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 13:26 [ТС] | 5 |
Как вывести на экран
qwTotalTimeElapsed?
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 13:30 | 6 |
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
||||||
13.03.2010, 13:34 [ТС] | 7 | |||||
что не так? 0 выводит вроде или вообще ничего, вместо printf("%lld", qwTotalTimeElapsed);
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 13:36 | 8 |
OffyGhost, нужно в GetThreadTimes первым аргументом передавать описатель потока, для которого нужно получить время выполнения, т.е. h1 и h2.
Ты же передаешь описатель главного потока.
1
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
||||||
13.03.2010, 13:57 [ТС] | 9 | |||||
исправил,
в выводе пишет -6871947672 Добавлено через 8 минут
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||
13.03.2010, 14:05 | 10 | ||||||||||
OffyGhost,
Приведи полностью код. Добавлено через 5 минут OffyGhost,
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 14:06 [ТС] | 11 |
Вот этот код выводит 0
не знаю почему
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 14:07 | 12 |
OffyGhost, потому что поток выполняется практически мгновенно.
И еще вместо CreateThread используй _beginthread или _beginthreadex.
1
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 14:15 [ТС] | 13 |
Мне обязательно надо получить какие нибудь наносекунды- в этом и задача (
ну да, на 2х ядрах простейший поток решается за пол наносекунды наверное
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
13.03.2010, 14:20 | 14 | |||||
OffyGhost, сразу не заметил, получать время выполнения надо уже после того как он завершит свою работу:
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 14:29 [ТС] | 15 |
все также 0
qwTotalTimeElapsed = (qwKernelTimeElapsed + qwUserTimeElapsed)*100000; так тоже ниче не выводит
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 15:08 | 16 |
OffyGhost, попробуй ввести следующие границы диапазона: 0 и 1000000000.
Посмотри результат.
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
||||||
13.03.2010, 15:15 [ТС] | 17 | |||||
вводя такие параметры
я получаю кучу баговв формул) и также 0 кстате вот кусок кода, выполенный одногруппником
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
13.03.2010, 15:26 | 18 |
OffyGhost, как я уже тебе говорил, время которое первый поток тратит на выполнение своей работы стремиться к нулю, особенно на компьютере с высокими характеристиками. Нет смысла замерять время работы такого потока.
На моей конфигурации если задать границы приведенные тобой время выполнения получается порядка 5000 наносекунд.
0
|
9 / 9 / 7
Регистрация: 04.03.2010
Сообщений: 107
|
|
13.03.2010, 15:41 [ТС] | 19 |
дело в том
что у меня в секунды три считает ))а впроге - 0 сейчас отправил программу нескльким юзерам с одноядерным целероном) Добавлено через 1 минуту я о том, какой тип поставить? double;float
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
13.03.2010, 15:46 | 20 | |||||
Вот код:
1
|
13.03.2010, 15:46 | |
13.03.2010, 15:46 | |
Помогаю со студенческими работами здесь
20
Измерение времени компиляции Измерение времени работы кода Измерение времени переключения контекста Измерение времени исполнения алгоритма через Clock() периодически равно 0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |