Saya membuat simple code seperti dibawah ini, untuk testing list dan memory
permasalahannya ketika saya deallocate kenapa memorynya nggak mau turun ya.
saya lihat pakai top tetep saja gede. Begitu juga ketika saya ganti std::list dengan std::vector
tetapi ketika list nya saya ganti dengan array biasa char* p[10000], memory bisa turun dengan baik.
apakah ada yang salah dengan impelemntasi std::list dan free memory saya.
Hasil test saya dengan Valgrind menunjukkan bahwa semua pengalokasian memori (denga "malloc") sudah dibebaskan dengan benar (dengan"free").
Masalah masih ada memori yang nggak mau turun, ini disebabkan oleh alokasi memori dari implementasi std::list atau std::vector itu sendiri. Untuk alasan optimasi performansi, ruang memori yang dialokasikan (misalnya dengan "new", dipanggil dari std::list) tidak serta merta dibebaskan begitu terkena "delete". Jadi ada semacam pool statik yang digunakan bersama-sama.
Kesimpulan: tidak usah khawatir karena pool memori tersebut akan diklaim balik oleh sistem operasi saat exit.
-- Ariya Hidayat, KDE developer, [EMAIL PROTECTED] http://ont.uni-paderborn.de (Research) http://ariya.pandu.org (Fun)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
