A test of how long it takes to build php. This is a quick running test taking not much more than a minute. Profile below seems to show a parallel build step followed by a link step.

Topdown profile has some noise, but as with other build benchmarks, frontend stalls are high and backend stalls are lower. This also seems to show some branch misprediction, more so in the link phases.

AMD metrics show not much floating point, a lower than average L2 rate. On-cpu is about half of the cores kept busy reflecting the balance between parallel compiles and single link.
elapsed 221.438
on_cpu 0.495 # 7.92 / 16 cores
utime 1555.675
stime 197.680
nvcsw 450612 # 65.88%
nivcsw 233377 # 34.12%
inblock 0 # 0.00/sec
onblock 6228496 # 28127.56/sec
cpu-clock 1748873750683 # 1748.874 seconds
task-clock 1748972352894 # 1748.972 seconds
page faults 58117746 # 33229.654/sec
context switches 528516 # 302.187/sec
cpu migrations 79690 # 45.564/sec
major page faults 2405 # 1.375/sec
minor page faults 58115341 # 33228.279/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 1594432602942 # 207.684 branches per 1000 inst
branch misses 52058772559 # 3.27% branch miss
conditional 1213061060088 # 158.008 conditional branches per 1000 inst
indirect 34178953667 # 4.452 indirect branches per 1000 inst
cpu-cycles 6605765875438 # 1.87 GHz
instructions 7229655455835 # 1.09 IPC
slots 14201053487148 #
retiring 2501769169927 # 17.6% (20.7%)
-- ucode 3564851676 # 0.0%
-- fastpath 2498204318251 # 17.6%
frontend 4796047097332 # 33.8% (39.8%)
-- latency 3588596456616 # 25.3%
-- bandwidth 1207450640716 # 8.5%
backend 4211510261156 # 29.7% (34.9%)
-- cpu 469036196670 # 3.3%
-- memory 3742474064486 # 26.4%
speculation 554865158779 # 3.9% ( 4.6%)
-- branch mispredict 548480394414 # 3.9%
-- pipeline restart 6384764365 # 0.0%
smt-contention 2136780015843 # 15.0% ( 0.0%)
cpu-cycles 6604211246538 # 1.86 GHz
instructions 7236674856639 # 1.10 IPC
instructions 2553785601077 # 43.692 l2 access per 1000 inst
l2 hit from l1 93760895583 # 21.62% l2 miss
l2 miss from l1 14637262233 #
l2 hit from l2 pf 8330227096 #
l3 hit from l2 pf 4566519708 #
l3 miss from l2 pf 4923249837 #
instructions 2553295973680 # 24.210 float per 1000 inst
float 512 25045 # 0.000 AVX-512 per 1000 inst
float 256 3210309 # 0.001 AVX-256 per 1000 inst
float 128 61812154017 # 24.209 AVX-128 per 1000 inst
float MMX 0 # 0.000 MMX per 1000 inst
float scalar 0 # 0.000 scalar per 1000 inst
Intel metrics
elapsed 235.695
on_cpu 0.506 # 8.09 / 16 cores
utime 1765.203
stime 141.292
nvcsw 440121 # 65.10%
nivcsw 235947 # 34.90%
inblock 28440 # 120.66/sec
onblock 6217808 # 26380.75/sec
cpu-clock 1902685896087 # 1902.686 seconds
task-clock 1902723588935 # 1902.724 seconds
page faults 57383846 # 30158.793/sec
context switches 526263 # 276.584/sec
cpu migrations 70667 # 37.140/sec
major page faults 1502 # 0.789/sec
minor page faults 57382344 # 30158.003/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 1557014667338 # 204.660 branches per 1000 inst
branch misses 37368996589 # 2.40% branch miss
conditional 1557020297226 # 204.661 conditional branches per 1000 inst
indirect 257048243067 # 33.787 indirect branches per 1000 inst
slots 13590541943186 #
retiring 4548295163703 # 33.5% (33.5%)
-- ucode 358429660714 # 2.6%
-- fastpath 4189865502989 # 30.8%
frontend 4396200016791 # 32.3% (32.3%)
-- latency 2292355074576 # 16.9%
-- bandwidth 2103844942215 # 15.5%
backend 2506228334418 # 18.4% (18.4%)
-- cpu 822785143049 # 6.1%
-- memory 1683443191369 # 12.4%
speculation 2187866665844 # 16.1% (16.1%)
-- branch mispredict 2120136787339 # 15.6%
-- pipeline restart 67729878505 # 0.5%
smt-contention 0 # 0.0% ( 0.0%)
cpu-cycles 4992606491814 # 1.33 GHz
instructions 6885561939212 # 1.38 IPC
l2 access 216898743213 # 45.077 l2 access per 1000 inst
l2 miss 66417480784 # 30.62% l2 miss
Process overview shows the C compiler frontend takes most of the time with ~2300 compilations over three runs and 221 invocations of ld. Still 175k processes started. The high number in the “running” suggests we still lose some events.
175042 processes
2307 cc1 1142.99 76.63
2208 as 42.90 4.12
68 clinfo 16.20 6.65
91992 bash 10.43 12.96
3 minilua 4.18 0.02
221 ld 2.43 1.31
38 vulkaninfo 1.15 0.96
1 xz 0.70 0.06
6 make 0.59 0.15
4 vulkani:disk$0 0.13 0.11
6 glxinfo:gdrv0 0.11 0.10
13 php 0.09 0.05
6 clang 0.08 0.04
2 llvmpipe-0 0.06 0.05
2 llvmpipe-1 0.06 0.05
2 llvmpipe-10 0.06 0.05
2 llvmpipe-11 0.06 0.05
2 llvmpipe-12 0.06 0.05
2 llvmpipe-13 0.06 0.05
2 llvmpipe-14 0.06 0.05
2 llvmpipe-15 0.06 0.05
2 llvmpipe-2 0.06 0.05
2 llvmpipe-3 0.06 0.05
2 llvmpipe-4 0.06 0.05
2 llvmpipe-5 0.06 0.05
2 llvmpipe-6 0.06 0.05
2 llvmpipe-7 0.06 0.05
2 llvmpipe-8 0.06 0.05
2 llvmpipe-9 0.06 0.05
2 glxinfo 0.05 0.04
2 glxinfo:cs0 0.05 0.04
2 glxinfo:disk$0 0.05 0.04
2 glxinfo:sh0 0.05 0.04
2 glxinfo:shlo0 0.05 0.04
1 tar 0.04 0.66
15 find 0.03 0.10
3 rocminfo 0.03 0.00
1 lspci 0.01 0.01
4779 rm 0.00 0.53
2266 cc 0.00 0.04
1 ps 0.00 0.01
42477 sed 0.00 0.00
3813 cat 0.00 0.00
1095 mv 0.00 0.00
1055 tr 0.00 0.00
1010 shtool 0.00 0.00
238 sh 0.00 0.00
228 grep 0.00 0.00
216 collect2 0.00 0.00
95 mkdir 0.00 0.00
63 cut 0.00 0.00
52 awk 0.00 0.00
44 conftest 0.00 0.00
34 wc 0.00 0.00
28 expr 0.00 0.00
18 dirname 0.00 0.00
18 xargs 0.00 0.00
17 uname 0.00 0.00
14 gsettings 0.00 0.00
13 configure 0.00 0.00
13 gcc 0.00 0.00
13 pkg-config 0.00 0.00
8 chmod 0.00 0.00
8 stat 0.00 0.00
8 systemd-detect- 0.00 0.00
7 basename 0.00 0.00
7 ln 0.00 0.00
6 cp 0.00 0.00
6 llvm-link 0.00 0.00
5 nawk 0.00 0.00
5 phoronix-test-s 0.00 0.00
5 rmdir 0.00 0.00
5 sort 0.00 0.00
4 diff 0.00 0.00
4 hostname 0.00 0.00
3 ldconfig.real 0.00 0.00
3 mktemp 0.00 0.00
3 nm 0.00 0.00
3 time-compile-ph 0.00 0.00
2 arch 0.00 0.00
2 echo 0.00 0.00
2 ls 0.00 0.00
2 lscpu 0.00 0.00
2 tail 0.00 0.00
2 which 0.00 0.00
2 xset 0.00 0.00
1 bison 0.00 0.00
1 cmp 0.00 0.00
1 date 0.00 0.00
1 dconf worker 0.00 0.00
1 dmesg 0.00 0.00
1 dmidecode 0.00 0.00
1 file 0.00 0.00
1 getconf 0.00 0.00
1 gmain 0.00 0.00
1 head 0.00 0.00
1 ifconfig 0.00 0.00
1 ip 0.00 0.00
1 ldd 0.00 0.00
1 lsmod 0.00 0.00
1 qdbus 0.00 0.00
1 readlink 0.00 0.00
1 realpath 0.00 0.00
1 strip 0.00 0.00
1 stty 0.00 0.00
1 systemctl 0.00 0.00
1 template.sh 0.00 0.00
1 touch 0.00 0.00
1 uniq 0.00 0.00
1 xrandr 0.00 0.00
3586 processes running
3641 maximum processes
