お久しぶりです、ミヤジーです。
最近はメモリ管理について勉強しています
皆さん、C言語でメモリ確保する際はmallocを使用していたと思います。
C++言語になってからnewを使用するようになり、直にmallocを使用する機会が減ったと思いますが、
ゲーム制作においては、メモリを厳密に管理したいという理由で、自作メモリアロケータを書くということがあります。
(また、mallocは遅いのでアロケータを書くという話も耳にします。)
、
そこで、ふと思ったのですが、本当にmallocは遅いのでしょうか
mallocについて調べてみると、高速化を図るためにいろいろな改良をしたmallocが考案されていました。
・dlmalloc
・phkmalloc
・jemalloc
・tcmalloc
・nedmalloc
…etc
以上に挙げたmallocの実装は、ソースコードを見ることができるので勉強してみては如何でしょうか?
メモリ確保と解放のための高速化技法がふんだんに取り入れられています
また、メモリの使用効率を上げるために、いろいろな工夫がなされています。
下手に自作メモリアロケータを書くと、mallocの方が速くてメモリ使用効率が良いということに・・・
そして、メモリ管理といえばガベージコレクション!
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3
ということで、お勧めの本を1冊紹介したいと思います。
http://www.amazon.co.jp/dp/4798025623
ガベージコレクションについて非常に分かりやすく解説されているので、
是非読んでみて下さい
メモリ管理は奥が深いです
BLOG
NEWS
-
2025.2.4トピック【CSR活動】中学生の訪問学習を行いました
-
2024.12.18プレスリリース【再配信】MakeS/NicO 周年記念サウンドトラック再配信のお知らせ
-
2024.12.16プレスリリース【お詫び】MakeS/NicO 周年記念サウンドトラックにおける誤表記について
-
2024.12.16インフォメーション年末年始休業のお知らせ