[fpc-devel] x86_64 Optimizer Overhaul

Jonas Maebe jonas at freepascal.org
Sat Dec 15 21:27:45 CET 2018


On 15/12/18 21:04, Ben Grasset wrote:
> On Sat, Dec 15, 2018 at 2:43 PM Jonas Maebe <jonas at freepascal.org 
> <mailto:jonas at freepascal.org>> wrote:
> 
>     That is incorrect.
> 
> I didn't mean that it doesn't *care* about being fast, but more that it 
> will not necessarily use more memory in all cases that it might result 
> in a speed gain, and generally is more concerned with a "balanced" 
> approach, which is what I've always heard to be the case. Is that really 
> not true at all?

It makes use of thread-local heaps and pooling for small allocation 
sizes, both of which are aimed at increasing speed. For blocks that are 
too large for the pools, there are no particular trade-offs afaik (it's 
just a linked list of free blocks per thread that can be reused). It's 
probably true that it will have a smaller memory footprint than 
something like jemalloc, at least as long as memory fragmentation (which 
jemalloc is very good at avoiding) doesn't take the upper hand.


Jonas



More information about the fpc-devel mailing list