And using EPYC2 with 64 cores I get: $ time gcc -flto=auto -flinker-output=nolto-rel gimple-match.o -fno-checking --param lto-partitions=4 -r
real 0m11.040s user 0m33.479s sys 0m0.718s $ time gcc -flto=auto -flinker-output=nolto-rel gimple-match.o -fno-checking --param lto-partitions=8 -r real 0m6.542s user 0m39.334s sys 0m0.945s $ time gcc -flto=auto -flinker-output=nolto-rel gimple-match.o -fno-checking --param lto-partitions=128 -r real 0m4.945s user 0m59.344s sys 0m2.475s So here the growth of user time is only about 100%. And baseline is: time g++ -O2 /tmp/gimple-match.ii -c real 0m39.783s user 0m39.385s sys 0m0.372s Martin