Я тестировал ключевое слово 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