Как считать время в секундах в Allegro 5 - PullRequest
0 голосов
/ 18 мая 2019

У меня проблема с подсчетом времени в Allegro5.Я должен сделать проект в школу, где я покажу сортировку оболочек, как она работает и как быстро сортирует массив, и возникает проблема

Я не знаю, как считать время в секундах, я сделал такой код, ноне будет работать

ALLEGRO_TIMER *shellTimer = al_create_timer(1.0);
al_start_timer(shellTimer);

// ALGORYTM SHELLA
while (distance) {
    shellCounter++;
    for (int j = NUMBER_OF_ELEMENTS - distance - 1; j >= 0; j--) {
        pos = array[j];
        i = j + distance;
        shellCounter += 2;
        while ((i < NUMBER_OF_ELEMENTS) && (pos > array[i])) {
            array[i - distance] = array[i];
            i += distance;
            counter += 2;
        }
        array[i - distance] = pos;
        shellCounter++;
    }
    distance /= 3;
    shellCounter++;
}

shellTime = al_get_timer_count(shellTimer);
al_stop_timer(shellTimer);

Ничего не дает, когда я его выполняю, переменная shellTime является int64_t

1 Ответ

0 голосов
/ 20 мая 2019

Вы можете использовать al_get_time , чтобы получить текущее время в секундах, но таймеры allegro точны так же, как и основные часы ОС.

Что вам действительно нужно, так это высокопроизводительный таймердля этой ситуации.Посмотрите на Счетчик производительности запросов

в Windows и clock_gettime в Linux

Они дадут вам наносекундную точность

...