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

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to