Saat ini komputer PC baik laptop maupun desktop yang menggunakan sistem operasi Windows umumnya tersedia dalam dua jenis, menggunakan Windows versi 32-bit atau versi 64-bit. Perbedaannya ialah jumlah informasi yang mampu ditangani oleh prosesor PC pada saat tertentu. Sedangkan komputer yang dirancang untuk sistem operasi 64-bit memiliki potensi kinerja komputer yang jauh lebih besar, sehingga memerlukan perubahan mendasar dalam merancang sebuah software untuk sistem operasi 64-bit.
Setiap
proses read/write dari memory (disebut dengan load/store)
membaca/menulis informasi sebesar ukuran register; maka register 64-bit
secara teori berpotensi memiliki 2x kecepatan register 32-bit. Tapi ini
hanya teori saja, karena kenyataannya prosesor juga menghabiskan waktu
untuk melakukan hal-hal lain selain load/store, seperti pemrosesan
matematis, vector-processing, dll.
Secara
simplistik: Makin panjang register, makin banyak angka di-belakang-koma
yang bisa dihitung secara akurat. Sebagai gambaran: Misalkan resolusi
bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real
pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi).
Salah satu
dari sekian banyak register adalah “addressing register”. Addressing
register (atau registers, kalau lebih dari satu) adalah register yang
memiliki fungsi ‘menunjuk’ ke alamat tertentu dalam memory. Jangkauan
(range) penunjukan ini disebut dengan istilah memory space.
Pada
arsitektur 32-bit, addressing registers mampu ‘menunjuk’ posisi memory
dari 0 s/d 4’294’967’295 (4 GiB – 1). Inilah yang mengakibatkan muncul
“batasan 4 GiB” pada sistem berbasis arsitektur 32-bit.
Pada
arsitektur 64-bit, addressing registers mampu ‘menunjuk’ posisi memory
dari 0 s/d 18’446’744’073’709’551’615 (16 EiB – 1). Seperti kita lihat,
tidak ada lagi ‘batasan 4 GiB’ pada sistem berbasis arsitektur 64-bit.
“Dataset”
adalah istilah untuk ‘seperangkat data yang di-load ke dalam memory
untuk diproses dan (optionally) ditulis kembali ke hard disk’.
Sistem
32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB – 1).
Mengingat sebagian memory harus digunakan untuk OS dan program database
ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja. Artinya,
sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam
konteks perusahaan besar), harus diproses 10~20x.
Sistem
64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar
ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load
seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja