Gentoo compile times with different hardware and USE flags

Gentoo compile times with different hardware and USE flags

Comparison of compilation times on Gentoo on different hardware and with different USE flags and different phoronix test suite runs.

Phoronix Test Suite

2x Intel Xeon 6138 (20 Core) Custom Build (Proxmox / Debian 11)
AMD Ryzen 7950X (Gentoo)
AMD ThreadRipper 3960X (Proxmox)
AMD Ryzen 3950X (Gentoo)

AMD Ryzen 3950X Timed Linux Kernel Compilation

https://openbenchmarking.org/result/2008222-BYTE-ASUSPRI22

GCC (12.2.1)

  • USE Flags: fortran graphite lto nls nptl openmp pgo openmp pgo sanitize ssp
  • CPU Flags: aes avx avx2 avx512f avx512dq avx512cd avx512bw avx512vl avx512vbmi f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
  • Optimization Flags: -march=native -O3 -pipe
AMD Ryzen 7950X (Gentoo)
genlop -t gcc

      Mon Jan 23 17:16:59 2023 >>> sys-devel/gcc-12.2.1_p20230121-r1
       merge time: 30 minutes and 56 seconds.

     Mon Mar  6 13:29:42 2023 >>> sys-devel/gcc-12.2.1_p20230304
       merge time: 32 minutes and 18 seconds.

GCC (10.2.0)

AMD Ryzen 4800H (Core 15 XMG)
  • Use Flags: fortran nls openmp nptl pch sanitize ssp vtv
  • CPU Flags: aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
  • Optimization Flags: -march=native -O3 -pipe
genlop -t gcc

     Sat Aug 15 21:26:46 2020 >>> sys-devel/gcc-10.2.0
       merge time: 22 minutes and 29 seconds.

     Sat Aug 15 22:39:58 2020 >>> sys-devel/gcc-10.2.0
       merge time: 29 minutes and 44 seconds.
  • Use Flags: fortran nls openmp nptl pch sanitize ssp vtv pgo
genlop -t gcc

     Wed Aug 19 11:08:50 2020 >>> sys-devel/gcc-10.2.0
       merge time: 43 minutes and 18 seconds.
  • Use Flags: fortran nls openmp nptl pch sanitize ssp vtv pgo lto
genlop -t gcc

     Wed Aug 19 14:43:17 2020 >>> sys-devel/gcc-10.2.0
       merge time: 1 hour, 10 minutes and 20 seconds.
AMD Ryzen 4750U (HP EliteBook 845 G7)
genlop -t gcc

     Fri Nov 6 17:24:56 2020 >>> sys-devel/gcc-10.2.0-r3
       merge time: 1 hour, 34 minutes and 12 seconds

Firefox (110.0.X)

genlop -t firefox

     Mon Feb 20 16:57:42 2023 >>> www-client/firefox-110.0
       merge time: 16 minutes and 59 seconds.

     Wed Mar  1 09:46:09 2023 >>> www-client/firefox-110.0.1
       merge time: 17 minutes and 30 seconds.

Firefox (79.0-r2)

(www-client/firefox)

AMD Ryzen 4800H (Core 15 XMG)
  • Use Flags: clang geckodriver gmp-autoupdate hwaccel lto openh264 pulseaudio screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp
  • CPU Flags: avx2 ..
genlop -t firefox

     Sun Aug 16 22:41:31 2020 >>> www-client/firefox-79.0-r2
       merge time: 32 minutes and 56 seconds.

With Profile guided Optimization

  • Use Flags: clang geckodriver gmp-autoupdate hwaccel lto openh264 pulseaudio screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp pgo
  • CPU Flags: avx2 ..
genlop -t firefox

     Wed Aug 19 12:14:01 2020 >>> www-client/firefox-79.0-r2
       merge time: 1 hour, 4 minutes and 6 seconds.

As expected pgo almost doubles the compile time. Still with around one hour compile time on a Ryzen 4800H is still bearable and faster than compiling chromium.

AMD Ryzen 9 3950X (16-Core)
  • Use Flags: clang geckodriver gmp-autoupdate hwaccel lto openh264 pulseaudio screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp pgo
genlop -t firefox

     Thu Aug 20 11:02:03 2020 >>> www-client/firefox-79.0-r2
       merge time: 31 minutes and 38 seconds.
AMD Ryzen 4750U (HP EliteBook 845 G7)
  • Use Flags: clang geckodriver gmp-autoupdate hwaccel lto openh264 pulseaudio screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp pgo
genlop -t firefox

     Tue Nov 10 03:02:36 2020 >>> www-client/firefox-82.0.3
       merge time: 1 hour, 44 minutes and 54 seconds.

Chromium 85.0.4183.69

(www-client/chromium)

AMD Ryzen 4800H (Core 15 XMG)
  • Use Flags: cups hangouts ozone proprietary-codecs pulseaudio sytem-ffmpeg system-icu tcmalloc
genlop -t chromium

    Tue Aug 18 08:12:49 2020 >>> www-client/chromium-85.0.4183.69
       merge time: 1 hour, 45 minutes and 1 second.