Повторить ANSIBE ad-hoc при неудаче

Я тестировал ключевое слово register под QNX 6.5.0, используя следующий код:

#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include <sys/neutrino.h>
#include <sys/syspage.h>

int main(int argc, char *argv[]) {
    uint64_t cps, cycle1, cycle2, ncycles;
    double sec;
    register int a=0, b = 1, c = 3, i;

    cycle1 = ClockCycles();

    for(i = 0; i < 100000000; i++)
        a = ((a + b + c) * c) / 2;

    cycle2 = ClockCycles();
    ncycles = cycle2 - cycle1;
    printf("%lld cycles elapsed\n", ncycles);

    cps = SYSPAGE_ENTRY(qtime) -> cycles_per_sec;
    printf("This system has %lld cycles per second\n", cps);
    sec = (double)ncycles/cps;
    printf("The cycles in seconds is %f\n", sec);

    return EXIT_SUCCESS;
}

Я получил следующие результаты:

-> 807679611 истекших циклов

-> Эта система имеет 3300830000 циклов в секунду

-> Циклы в секундах ~ 0.244600

И теперь без регистра int:

int a=0, b = 1, c = 3, i;

Я получил:

-> 1421694077 пройденных циклов

-> Эта система имеет 3300830000 циклов в секунду

-> Циклы в секундах ~ 0.430700

1
задан Hieu Huynh 5 March 2019 в 03:56
поделиться