malloc書くの流行っている?

プログラマーの中ではmalloc/freeを実装するのが流行っているようです。(ぉ
http://diary.okotama.org/?date=20060407#p03とか、id:shinichiro_h:20060404#1144138419。


mallocの実装は誰かから割り当てられたメモリ(例えばOSから割り当てられたメモリ)を、管理するという点だけに絞れば難しいことではありません。
でも割り当てられるメモリのサイズや頻度によって、断片化したりとか速度がでないとかいろいろあるので実装のアルゴリズムの選択には注意が必要です。


Monaの中でもカーネル・ユーザーランドともにmallocがあるのですが一時期自前でファーストフィットで書いていました。
すると、ユーザーランドのアプリにmalloc/freeを繰り返されて遅いことが発覚。
がんばってチューニングしたら速くなったんだけど、ためしに入れてみたdlmallocにあっさり負けて悲しい気持ちになったという経験があります。


それはともかく、mallocの実装はプログラムの基礎となるデータ構造の勉強にもなりますし、いちど実装してみると面白いかもしれません。