СПРОСИ ПРОФИ
👍
0
👎 02

QueryPerformanceCounter

Добрый день! Пожалуйста, помогите, разобраться с QueryPerformanceCounter. Написал в таком виде:

#include <iostream>

int main()

LARGE_INTEGER StartTime, EndingTime, Diffoftime;

LARGE_INTEGER frequency;

QueryPerformanceFrequency(&frequency);


QueryPerformanceCounter(&StartTime); // начало замеров времени


<тело программы>


QueryPerformanceCounter(&EndingTime); // прекращение замеров времени

Diffoftime.QuadPart = EndingTime.QuadPart — StartTime.QuadPart;

Diffoftime.QuadPart = Diffoftime.QuadPart * 1000000;

Diffoftime.QuadPart = Diffoftime.QuadPart / frequency.QuadPart;

Diffoftime.QuadPart = Diffoftime.QuadPart / 1000;

printf(«Done for %i milli sec\n», size, Diffoftime.QuadPart);


Программа выдает 0 миллисекунд. Удалил строчку Diffoftime.QuadPart = Diffoftime.QuadPart / 1000; и стали отображаться какие-то значения. Это была лишняя строчка, и теперь отображаются миллисекунды? Или она все-таки нужна, но работает некорректно по какой-то другой причине? Буду признателен за помощь.

программирование программисты обучение IT     #1   22 май 2022 18:20   Увидели: 11 клиентов, 258 специалистов   Ответить
👍
0
👎 0

Значит, действительно 0 мс. Есть сомнения?
После удаления строки кода с делением на тысячу должны получаться микросекунды, на миллион же раньше умножали.
P.S. Операторами «–=», «*=», «/=» принципиально не пользуетесь?

👍
0
👎 0

Благодарю за разъяснения. P. S. начну пользоваться, пожалуй, чтоб не позориться лишний раз

  #3   23 май 2022 10:30   Ответить

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2024