Re: GCC 8.3.0 vs. 9.0.1

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: GCC 8.3.0 vs. 9.0.1
Дата
Msg-id 20190507173245.mxow3jhgm5whv6le@alap3.anarazel.de
обсуждение исходный текст
Ответ на GCC 8.3.0 vs. 9.0.1  (Steven Winfield <Steven.Winfield@cantabcapital.com>)
Ответы Re: GCC 8.3.0 vs. 9.0.1
Список pgsql-performance
Hi,

On 2019-05-07 16:14:43 +0000, Steven Winfield wrote:
> (Apologies if this isn't the right place to post this)

Seems right.


> A few days ago a blog post appeared on phoronix.com[1] comparing GCC 8.3.0 against 9.0.1 on Intel cascadelake
processors.
> A notable difference was seen in the PostgreSQL benchmark (v10.3, pgbench, read/write, more detail below), both when
compilingwith -march=native and -march=skylake:
 
> 
> GCC version | -march= |   TPS
>       8.3.0 | skylake |  5667
>       9.0.1 | skylake | 11684 (2.06x speed up)
>       8.3.0 | native  |  8075
>       9.0.1 | native  | 11274 (1.40x speed up)
> 
> I'm interested to know the devs' take on this is - does GCC 9 contain some new feature(s) that are particularly well
suitedto compiling and optimising Postgres? Or was GCC 8 particularly bad?
 

I think those numbers are just plain bogus. read/write pgbench is
commonly IO bound.  My suspicion is much more that the tests for gcc 8
and 9 were executed in the same postgres cluster (in which case the
second will be faster, because it'll have pre-initialized WAL files).
Or something of that vein.


> (after patching it so that it can run as root)

That, uh, seems odd.


> - pgbench -i -s <system memory in MB * 0.003> pgbench

That's pretty small, but whatever.


Here's my results:

I ran:

pgbench -i -q -s 96 && pgbench -n -c 8 -j 8 -T 100 -P1


gcc 8.3, march=native (on skylake):

first run:
tps = 14436.465265 (excluding connections establishing)

second run:
tps = 13293.266789 (excluding connections establishing)

third run after postgres restart (and thus a checkpoint):
tps = 14270.248273 (excluding connections establishing)


gcc 9.1, march=native (on skylake):

first run:
tps = 13836.231981 (excluding connections establishing)

second run:
tps = 13304.975550 (excluding connections establishing)

third run after postgres restart (and thus a checkpoint):
tps = 14390.246324 (excluding connections establishing)


As you can see the test results are somewhat unstable - the test
duration of 60s is just not long enough. But there's no meaningful
evidence of a large speedup here.




> This email is confidential. If you are not the intended recipient, please advise us immediately and delete this
message.
 
> The registered name of Cantab- part of GAM Systematic is Cantab Capital Partners LLP. 
> See - http://www.gam.com/en/Legal/Email+disclosures+EU for further information on confidentiality, the risks of
non-secureelectronic communication, and certain disclosures which we are required to make in accordance with applicable
legislationand regulations. 
 
> If you cannot access this link, please notify us by reply message and we will send the contents to you.
> 
> GAM Holding AG and its subsidiaries (Cantab – GAM Systematic) will collect and use information about you in the
courseof your interactions with us. 
 
> Full details about the data types we collect and what we use this for and your related rights is set out in our
onlineprivacy policy at https://www.gam.com/en/legal/privacy-policy. 
 
> Please familiarise yourself with this policy and check it from time to time for updates as it supplements this
notice.

This is a public list.

Greetings,

Andres Freund



В списке pgsql-performance по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: GCC 8.3.0 vs. 9.0.1
Следующее
От: Andres Freund
Дата:
Сообщение: Re: GCC 8.3.0 vs. 9.0.1