Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM. Variabel seperti ini hanya dapat diterapkan pada variabel lokal atau parameter formal yang bertipe char dan int. Variabel register biasa diterapkan pada variabel yang digunakan untuk pengendali loop. Tujuannya untuk mempercepat proses dalam loop. Sebab variabel yang dioperasikan pada register mempunyai kecepatan pemrosesan yang jauh lebih tinggi daripada yang diletakkan di RAM.
File var_register.c
#include <stdio.h>
#include <time.h>
main()
{
int i,j;
register int a,b;
long waktu_awal;
waktu_awal=time(’\0′);
/* tanpa variabel register */
for (i=0; i<=100000; i++)
for (j=0; j<=100000; j++);
printf("Waktu total tanpa variabel register = %ld detik\n", time(’\0′) - waktu_awal);
waktu_awal=time(’\0′);
/* dengan variabel register */
for (a=0; a<=100000; a++)
for (b=0; b<=100000; b++);
printf("Waktu total dengan variabel register = %ld detik\n", time(’\0′) - waktu_awal);
}
$ gcc -o var_register var_register.c
$ ./var_register
Waktu total tanpa variabel register = 187 detik
Waktu total dengan variabel register = 176 detik
$
Program di atas melakukan perhitungan pada matriks 100000 x 100000, jangan coba-coba melakukannya di compiler C under Windows, di Miracle C Windows menghasilkan kalkulasi ngawur sedangkan di Borland Turbo C komputer akan hang. Viva UNIX, baca FreeBSD !
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa