Linux kernelben egesz jo strategiak vannak.
Leginkabb lassu, az a baj mallocal.
Egy kurva egyszeru strategia free lapok log_2(size) szerint listazva (64 lista) mar oriasit dobhat a sebessegen, es nem a nagy szabad blokkokbol csinal kicsit, ha ep olyan sorendbe van. (nem ez legjobb, de legkevesebb vizet zavar)
Nem ártana még, hogy valahogy freenél megnézze nem e szomszédos egy mások szabad blokkal és akkor egyesülne. Gyakori, hogy az egymás után allokált dolkokat egymás után free-zik tehát legutóbbi három felszabaditást megnézve, is jó eséllyel lesz illeszkedés.
ps:
glibc -ben pöttyet értelmesebb malloc, van mint rémlett, már vagy 2.3 óta :)