Kesalahan yang sering dilakukan adalah menulis pengalokasi Anda sendiri sehingga Anda dapat lebih mengontrol berapa banyak memori yang digunakan oleh setiap sistem dan memiliki lebih banyak visibilitas pada apa yang sedang terjadi. Cara yang jauh lebih baik untuk mencapai ini adalah dengan menggunakan profiler memori. Ada banyak profiler memori di luar sana, profiler saya MemPro menjadi salah satu contoh. Ini adalah cara yang sepenuhnya non-invasif untuk melacak semua penggunaan memori, dan Anda dapat secara otomatis memecahnya menjadi sub sistem menggunakan filter wildcard callstack. Idealnya yang terbaik untuk menjaga alokasi memori Anda dan pelacakan memori benar-benar terpisah, mereka memiliki persyaratan yang sama sekali berbeda.
Membagi memori Anda secara sewenang-wenang ke dalam kumpulan sering dapat merugikan karena setiap kumpulan akan memiliki overhead. Anda dapat menggunakan lebih banyak memori daripada yang Anda butuhkan tanpa benar-benar menyadarinya. Untuk mengurangi pemborosan, selalu lebih baik untuk menyatukan semuanya, slack kemudian dibagi oleh seluruh sistem.
Satu-satunya alasan untuk menggunakan pengalokasi khusus adalah kinerja CPU (terutama untuk koherensi cache) dan untuk membatasi fragmentasi. Contoh sempurna dari ini adalah sistem partikel. Anda ingin semua partikel bersebelahan dalam memori dan Anda tidak ingin menambahkan memori utama dengan banyak alokasi berumur pendek. Contoh bagus lain untuk mempartisi adalah bahasa scripting.
Jika Anda ingin contoh pengganti malloc tujuan umum, Anda dapat melihat pengalokasi VMem saya . Ini telah digunakan di sejumlah game AAA yang dikirim. Ini memiliki teknik yang membatasi fragmentasi dan menjaga jejak memori rendah, sesuatu yang penting untuk konsol game. Ini juga sangat cepat di bawah pertentangan thread tinggi. Situs web saya memiliki dokumentasi yang luas tentang teknik-teknik ini.