[fpc-devel] Compiler bottlenecks]
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Wed Jul 14 18:06:55 CEST 2010
Jonas Maebe schrieb:
> This technique is well known and implemented by virtually all memory
> managers these days (it's called pooling, or freelists). FPC's default
> memory manager also does that (up to a certain allocation size).
>
> Unless you create huge pools, it does not affect total memory much.
Even large pools are preferrable over chains of blocks, because
following a chain can cause many page faults, at least it trashes the
caches.
This is a known problem with garbage collectors (Java...), which can
cause huge amounts of data being loaded into RAM, even if the current
process actually doesn't use them. This is really bad for an garbage
collector, which has been activated due to a shortage on memory - and it
might be one reason for the use of compacting GC in .NET.
DoDi
More information about the fpc-devel
mailing list