By default, operator new() selalu mengakses ke heap/memory. Tapi seandainya heap memory tidak cukup, maka operating system bisa mem-swap memory ke hard-disk sebagai tambahan (virtual memory).
Ini semua tergantung dari physical memory, dan swap partition dari operating- system-nya. Kalo memory-nya gede banget, misalnya 2GB, waktu allocate 400MB, mustinya ngga akan akses hard-drive sama sekali. KOkon. On 6/28/07, Uno Tursadi <[EMAIL PROTECTED]> wrote:
Sedikit menambahkan, saya pernah experiment, di windows bukan di linux. Membuat variable pointer dengan ukuran yang sangat besar. Missal int *i; i = new int [100000000]; satu integer berukuran 4 bytes jadi variable i kalo di isi semua akan menghabiskan 400 MBytes. Ternyata 400 MB itu diambil dari kapasitas hard disk. Ukuran hard disknya berkurang sebanyak 400Mbytes. Artinya pada saat kita membuat sebuah variable pointer. Variable tersebut akan mengambil jatah byte yang ada di hard disk. Dan setiap kali aplikasi menulis atau membaca variable tersebut, akan mengakses data hard disk. Harusnya jika sebuah aplikasi mengambil dan menulis ke hard disk akan lebih lambat dibanding ke memory langsung. Artinya, pointer lebih lambat dibanding memori langsung. Bener gak??? Gak tau kalo di linux soalnya belum pernah nyoba. CMIIW
-- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis