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
>>>
>>

Reply via email to