loongson-community / discussions

Cross-community issue tracker & discussions / 跨社区工单追踪 & 讨论场所
11 stars 0 forks source link

发现3A6000在SPEC2017里的548.exchange2_r测试成绩在gcc14 snapshot 20240317版本后有明显下降 #54

Open azuresky01 opened 6 months ago

azuresky01 commented 6 months ago

该测试在gcc9到gcc10时也出现过性能下降:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94373

首先在Loong Arch Linux上发现,在AOSC OS 11.4.0上做了详细测试,性能下降在20%左右。

on loongarch64 (3A6000) AOSC OS 11.4.0:

with optimization parameters "-g -Ofast -march=native": since 20240317 down 18-19.1% 13.2.0: 11.3 (232s) [system default gcc 13.2.0] 20240317: 11.0 (237s) [gcc 14 snapshot] 20240324: 8.90 (294s) [gcc 14 snapshot] 20240430: 9.03 (290s) [gcc 14.1.0-RC]

with optimization parameters "-g -Ofast -march=native -flto": since 20240317 down 20-20.7% 13.2.0: 11.5 (227s) with -flto up 1.8% 20240317: 10.6 (248s) with -flto down 3.6% 20240324: 8.41 (312s) with -flto down 5.5% 20240430: 8.48 (309s) with -flto down 6.1%

gcc14 is compiled with the following parameters: --enable-shared --enable-threads=posix --with-system-zlib --enable-gnu-indirect-function --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --disable-multilib --disable-werror --enable-pie --enable-checking=release --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new --enable-default-pie --enable-default-ssp --enable-bootstrap --enable-languages=c,c++,fortran,lto --with-abi=lp64d --with-arch=loongarch64 --with-tune=la664 --build=loongarch64-aosc-linux-gnu

又测了下x86_64系统,结果如下。有类似性能下降但比较小,而且“-flto”参数的作用是正面的。

on x86_64 (AMD R9 7940HS) Debian 12:

with optimization parameters "-m64 -g -Ofast -march=znver3": since 20240317 down 8.6-9.6% 12.2.0: 30.1 (87.0s) [system default gcc 12.2.0] 13.2.0: 30.6 (85.7s) [gcc 13.2 release] 20240317: 31.4 (83.3s) [gcc 14 snapshot] 20240324: 28.7 (91.2s) [gcc 14 snapshot] 20240430: 28.4 (92.2s) [gcc 14.1.0-RC]

with optimization parameters "-m64 -g -Ofast -march=znver3 -flto": since 20240317 down 10% 12.2.0: 29.0 (90.3s) with -flto down 3.7% 13.2.0: 30.9 (84.9s) with -flto up 0.9% 20240317: 32.0 (81.8s) with -flto up 1.9% 20240324: 28.8 (90.9s) with -flto up 0.3% 20240430: 28.8 (91.1s) with -flto up 1.4%

gcc13、gcc14 are compiled with the following parameters: --enable-shared --enable-threads=posix --with-system-zlib --enable-gnu-indirect-function --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --disable-multilib --disable-werror --enable-pie --enable-checking=release --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new --enable-default-pie --enable-default-ssp --enable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu

xry111 commented 6 months ago

This isn't a proper issue tracker for reporting it.

Please open a ticket in https://gcc.gnu.org/bugzilla/.

azuresky01 commented 6 months ago

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114978

xen0n commented 3 weeks ago

Needs triage: is the issue still present with GCC 14.x now?

xry111 commented 3 weeks ago

Needs triage: is the issue still present with GCC 14.x now?

I'm almost sure 14 and 15 are still affected.