[fpc-devel] The 15k bounty: Optimizing executable speed for Linux x86 / LLVM

Adriaan van Os fpc at microbizz.nl
Fri Nov 23 11:14:49 CET 2018


Simon Kissel wrote:

> We know about a couple of bottlenecks (fpc_pushexceptaddr /
> RelocateThreadVar etc) which explain FPC's terrible multi-threading
> performance, but in general, FPC's code generator really is quite
> a mess, which we learned the hard way a couple of years when we
> did optimization work on the ARM target.

I find the phrase. "FPC's terrible multi-threading performance" unjust. When I do multi-threading 
with FPC, I get a near N speed improvement (on i386 and x86_64) where N is the number of cores, 
including hyper-threaded cores ....

What about taking another way, having a precise look at the source code ? Did you profile it ? What 
sort of work does the code do ? How are the threads synchronized ? What data structures are used ?

I don't take "the compiler is so bad" without an answer to these questions.

Regards,

Adriaan van Os




More information about the fpc-devel mailing list