In meanwhile on analysis(hardware level) and sample examples noticed
1. GCC performance better than Clang on int128 .
2. Clang performance better than GCC on long long
the reference example https://stackoverflow.com/questions/63029428/why-is-int128-t-faster-than-long-long-on-x86-64-gcc
3.GCC enabled with “ fexcess-precision=standard” (precision cast for floating point ).
Is these 3 points can make performance difference GCC vs Clang in PostgreSQLv14 in Apple/AMD/()environment(intel environment need to check). In these environment int128 enabled wrt PostgreSQLv14.
On Friday, November 5, 2021, Tomas Vondra <tomas.vondra@xxxxxxxxxxxxxxxx> wrote:
On Friday, November 5, 2021, Tomas Vondra <tomas.vondra@xxxxxxxxxxxxxxxx
Hi,
IMO this thread provides so little information it's almost impossible to answer the question. There's almost no information about the hardware, scale of the test, configuration of the Postgres instance, the exact build flags, differences in generated asm code, etc.
I find it hard to believe merely switching from clang to gcc yields 22% speedup - that's way higher than any differences we've seen in the past.
In my experience, the speedup is unlikely to be "across the board". There will be a handful of affected queries, while most remaining queries will be about the same. In that case you need to focus on those queries, see if the plans are the same, do some profiling, etc.
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company