[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