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

Florian Klämpfl florian at freepascal.org
Fri Nov 23 16:53:18 CET 2018


Am 23.11.2018 um 14:36 schrieb Simon Kissel:
> Hi Adriaan,
> 
>> I find the phrase. "FPC's terrible multi-threading performance"
>> unjust.
> 
> Well, see the complete thread to better understand what this
> is about, and what progress is being made. So far a 20%
> improvement has been made, which kinda is like a proof that
> there was something to improve ;)
> 
>>  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 ....
> 
> This isn't about FPC's code not scaling with N cores, it does.
> It is about it being slow as soon as threads are used *at all*,
> due to TLS stuff and exception handling. It's slow in a linear
> fashion, so to say...
> 

Actually, most of the improvements so far are no related to threading. In particular r40339 helped a lot, it was a bug
fix: the compiler assumed that a certain sub expression was written while it not was and this prevented CSE.



More information about the fpc-devel mailing list