Re: GCC 8.3.0 vs. 9.0.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 compiling with -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 suited to 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-secure electronic communication, and certain disclosures which we are required to make in accordance with applicable legislation and 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 course of 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 online privacy 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





[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux