[fpc-devel]Bad heap manager?

Ingmar Tulva juss_it at ut.ee
Thu Feb 28 09:05:39 CET 2002


On Thu, 28 Feb 2002, Jonas Maebe wrote:
}
}Concatenating when allocating instead of when freeing would help here, but
}it would probably slow down the heap manager in cases where this wouldn't
}be necessary otherwise.

I don't actually know how FPC's heap manager works but once when I wrote a
library for similar purpose (a static memory pool) I chose to concatenate
when allocating and it effectively added no overhead at all (one CPU cycle
per memory block, to be precise). Of cource, I had to manage no more than
1 meg or so with few hundred blocks and thus I could use simple
incremental search when allocating. If FPC uses a smarter way, it wouldn't
help you much.

BTW, coulnd't you add a Defragment procedure into System unit? Slow or
not, but it would be useful when program encounters hopeless heap
fragmentation.

Ingmar





More information about the fpc-devel mailing list