Hi All, I checked with LLVM/CLang 14.0 on arch x86-64-O3 in the Mac/AMD EPYC environment , but I see GCC performs better than Clang14. Clang14-https://github.com/llvm/llvm-project(main branch and pull or commitID:3f3fe4a5cfa1797..) [image: image.png] pre analysis GCC vs Clang (1) GCC more inlined functionality compared to Clang in PostgreSQL (2) in few functions GCC are not inlined but Clang consider inline postgresqlv14/src/include/utlis/float.h: float8_mul(),float8_div (arithmetic functions).v postgresqlv14/src/backend/adt/geo_ops.c : point_xxx(). (3) GCC performs better than clang on datatype Int128(need to cross check on instruction level/assembly code on Hardware). (4) as point(2) without inline(remove inline in source code ) on those functions in file's float.h and geo_ops.c and observed performance improvement 6% compared to within inline in Clang.
regards, Arjun On Fri, Dec 10, 2021 at 11:51 PM Imre Samu <pella.s...@gmail.com> wrote: > > GCC vs Clang > > related: > As I see - with LLVM/Clang 14.0 ( X86_64 -O3 ) ~12% performance increase > expected with the new optimisation ( probably adapted from gcc ) > - https://twitter.com/djtodoro/status/1466808507240386560 > - > https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Clang-14-Hoist-Load > > regards, > Imre > > > > arjun shetty <arjunshetty...@gmail.com> ezt írta (időpont: 2021. nov. > 16., K, 11:10): > >> Yes, currently focusing affects queries as well. >> 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.von...@enterprisedb.com> >> wrote: >> >>> 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 >>> >>