Как я рассчитываю, сколько миллисекунд требуется моя программа для выполнения?

Оператор переключения:

switch(i)
{
  case 1:
    doOne();
    break;

  case 2:
    doTwo();
    break;

  case 3:
    doThree();
    break;

  default:
    doNone();
    break;
}
6
задан Peter Mortensen 21 October 2009 в 10:14
поделиться

5 ответов

См. Вопрос « Преобразование разницы между двумя значениями в миллисекунды » при переполнении стека.

Или используйте это:

static double diffclock(clock_t clock1,clock_t clock2)
{
    double diffticks=clock1-clock2;
    double diffms=(diffticks)/(CLOCKS_PER_SEC/1000);
    return diffms;
}
13
ответ дан 8 December 2019 в 04:30
поделиться

В Windows вы можете использовать GetTickCount в миллисекундах.

2
ответ дан 8 December 2019 в 04:30
поделиться

Есть макрос CLOCKS_PER_SEC , который поможет вам преобразовать тики в миллисекунды.

Существуют специальные API-интерфейсы для ОС, чтобы получить таймеры с высоким разрешением.

Вы можете запускать свою программу более одного раза ( например, 1000 раз) и измерьте это с помощью таймера с низким разрешением (например, некоторое количество секунд), а затем разделите полученное количество на количество запусков, чтобы получить среднее время (с более высоким разрешением).

3
ответ дан 8 December 2019 в 04:30
поделиться

Если вы используете ОС Unix, например Linux или Mac OS X , вы можете перейти в командную строку и использовать строку

time call-program

Команда time определяет, сколько времени выполняется любой командной строки принимает и сообщает вам об этом.

Я не знаю, есть ли что-то подобное для Windows, и как вы можете измерить миллисекунды внутри программы C / C ++.

6
ответ дан 8 December 2019 в 04:30
поделиться

В Win32 вы можете получить доступ к таймеру с высоким разрешением, используя QueryPerformanceFrequency и QueryPerformanceCounter (IMHO, которое следует предпочесть, возможно, с откатом на GetTickCount ). Вы можете найти пример в разделе «Содержимое сообщества» на сайте MSDN.

1
ответ дан 8 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: