Seingat saya, copy collector seharusnya ramah paging, karena penelusuran dengan menyalin cenderung meningkatkan lokalitas referensi pointer. Ini memiliki efek positif pada program (mutator) yang akan menyebabkan lebih sedikit kesalahan halaman saat mengikuti tautan, dan juga akan meningkatkan siklus pengumpulan berikutnya karena pelacakan juga akan menyebabkan lebih sedikit kesalahan halaman. Agenda penelusuran (petunjuk mana yang harus diproses terlebih dahulu) dapat berdampak pada efektivitas untuk meningkatkan lokalitas data. Ini dapat ditingkatkan dengan mengukur statistik pada jumlah akses ke berbagai petunjuk dalam berbagai jenis sel.
Sekarang, jika Anda mempertimbangkan kolektor pelacak secara umum, Anda biasanya harus memelihara struktur yang melacak pointer yang belum dilacak. Dimungkinkan untuk mengatur struktur ini sehingga semua pointer yang menunggu yang menunjuk pada halaman yang sama akan disimpan bersama (meskipun itu mungkin membutuhkan lebih banyak ruang, dalam beberapa kasus, tergantung pada teknik yang tersedia untuk menyimpan daftar pointer tersebut). Kebijakan yang memungkinkan adalah selalu melacak terlebih dahulu set pointer menunggu terbesar yang menunjuk ke halaman yang sama, ketika tidak ada pointer menunggu yang tersisa ke halaman dalam memori.
Mengenai pertanyaan di paragraf ketiga, yang ditambahkan setelah saya menjawab, koleksi salinan lagi merupakan jawaban. OS dapat mengurangi jumlah halaman fisik yang dialokasikan pada waktu pengumpulan, karena halaman sepenuhnya dibebaskan. Dengan tanda dan penyapu kolektor, acara satu halaman penuh bebas mungkin jauh lebih jarang, sehingga tidak layak menjadi machanism tertentu untuk dipertimbangkan.
Gagasan semacam ini alami, dan mungkin dijelaskan dalam beberapa makalah. Tapi saya tidak mengingatnya begitu saja. Saya pikir makalah awal tentang Lisp GC berisi beberapa ide ini (seperti: apakah mobil atau cdr harus diikuti terlebih dahulu?).
Kabar baiknya dalam peran koleksi-salinan ini adalah juga paging ramah untuk menyalin koleksi karena menambah ruang penyimpanan yang tersedia. Ingat bahwa kolektor salinan pada prinsipnya membutuhkan ruang dua kali lebih banyak dari yang digunakan untuk penyimpanan data aktual. Sekarang, efek paging tergantung juga pada ruang alamat mesin, dan memori fisik yang tersedia. Di komputer lama, memori fisik jauh lebih sedikit daripada ruang alamat yang tersedia, sehingga paging benar-benar bonus ruang, memungkinkan kebijakan seperti menyalin GC. Bahkan ketika ruang fisik sebesar ruang alamat, orang mungkin ingin membagikannya, sehingga proses menggunakan GC akan memiliki lebih sedikit ruang alamat tanpa paging (lihat paging). Kata-kata ini agak digantikan oleh penggunaan kolektor generasi. Mereka umumnya menggunakan koleksi salinan untuk generasi muda justru karena kualitas-kualitas ini, dan karena generasi muda kebanyakan berumur pendek.
Kemudian Anda memiliki semua interaksi GC generasi dengan sistem cache, yang telah dibahas dalam pertanyaan sebelumnya: Apakah pengumpul sampah generasi pada dasarnya ramah terhadap cache?
Untuk informasi lebih lanjut tentang masalah ini, saya akan mencari di web dengan, misalnya, pengumpulan dan penempatan sampah kata kunci .