A test to see how long it takes to build the Apache web server. This is a quick running test taking barely 20 seconds. Curiosly, there seems to be a longer preparation phase before the actual run itself. The number of processes jumps to one per core but quickly subsides.

Topdown profile has not many data points but similar to longer compile tasks, shows high frontend stalls, low backend stalls and some branch misprediction.

AMD metrics show low average core usage and a higher branch rate and low floating point.
elapsed 98.709
on_cpu 0.218 # 3.49 / 16 cores
utime 269.463
stime 74.576
nvcsw 128086 # 77.48%
nivcsw 37222 # 22.52%
inblock 0 # 0.00/sec
onblock 1629544 # 16508.60/sec
cpu-clock 341915340657 # 341.915 seconds
task-clock 341967996158 # 341.968 seconds
page faults 18121934 # 52993.070/sec
context switches 123710 # 361.759/sec
cpu migrations 15603 # 45.627/sec
major page faults 585 # 1.711/sec
minor page faults 18121349 # 52991.359/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 374441385412 # 207.520 branches per 1000 inst
branch misses 15615590319 # 4.17% branch miss
conditional 280111516868 # 155.241 conditional branches per 1000 inst
indirect 7813883654 # 4.331 indirect branches per 1000 inst
cpu-cycles 1157635766897 # 0.75 GHz
instructions 1654738047826 # 1.43 IPC
slots 2645984593044 #
retiring 594985036813 # 22.5% (24.8%)
-- ucode 1155211062 # 0.0%
-- fastpath 593829825751 # 22.4%
frontend 1183642960436 # 44.7% (49.3%)
-- latency 898569610236 # 34.0%
-- bandwidth 285073350200 # 10.8%
backend 467675121362 # 17.7% (19.5%)
-- cpu 80561842506 # 3.0%
-- memory 387113278856 # 14.6%
speculation 153338780677 # 5.8% ( 6.4%)
-- branch mispredict 152094004938 # 5.7%
-- pipeline restart 1244775739 # 0.0%
smt-contention 246329182752 # 9.3% ( 0.0%)
cpu-cycles 1154621150211 # 0.74 GHz
instructions 1651974059628 # 1.43 IPC
instructions 599605277727 # 39.737 l2 access per 1000 inst
l2 hit from l1 20902642553 # 19.30% l2 miss
l2 miss from l1 3121561041 #
l2 hit from l2 pf 1446150089 #
l3 hit from l2 pf 950195209 #
l3 miss from l2 pf 527398315 #
instructions 598601713156 # 22.046 float per 1000 inst
float 512 9555 # 0.000 AVX-512 per 1000 inst
float 256 768984 # 0.001 AVX-256 per 1000 inst
float 128 13195768961 # 22.044 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 100.592
on_cpu 0.217 # 3.46 / 16 cores
utime 299.667
stime 48.816
nvcsw 127406 # 79.33%
nivcsw 33193 # 20.67%
inblock 35664 # 354.54/sec
onblock 1618320 # 16087.89/sec
cpu-clock 345245303121 # 345.245 seconds
task-clock 345398781481 # 345.399 seconds
page faults 18048003 # 52252.654/sec
context switches 119266 # 345.299/sec
cpu migrations 18706 # 54.158/sec
major page faults 318 # 0.921/sec
minor page faults 18047685 # 52251.733/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 360798284672 # 203.071 branches per 1000 inst
branch misses 9581421818 # 2.66% branch miss
conditional 360799703072 # 203.072 conditional branches per 1000 inst
indirect 48315109570 # 27.194 indirect branches per 1000 inst
slots 3717598098686 #
retiring 1201999512872 # 32.3% (32.3%)
-- ucode 95577300356 # 2.6%
-- fastpath 1106422212516 # 29.8%
frontend 1334214911374 # 35.9% (35.9%)
-- latency 719044168108 # 19.3%
-- bandwidth 615170743266 # 16.5%
backend 489481346123 # 13.2% (13.2%)
-- cpu 253259025606 # 6.8%
-- memory 236222320517 # 6.4%
speculation 698694067172 # 18.8% (18.8%)
-- branch mispredict 679003139269 # 18.3%
-- pipeline restart 19690927903 # 0.5%
smt-contention 0 # 0.0% ( 0.0%)
cpu-cycles 907587487272 # 0.58 GHz
instructions 1510758448351 # 1.66 IPC
l2 access 45203055028 # 35.968 l2 access per 1000 inst
l2 miss 11710771748 # 25.91% l2 miss
Process overview show 2220 invocations of the C compiler front end and over 8000 invocations of bash. The preparation phase seems to be libtool. The processes still running reflects losing some events. Looking at the process list, many of the bash stages come early during the preparation
44478 processes
2220 cc1 196.83 28.99
67 clinfo 16.90 5.89
10399 libtool 3.35 1.11
1997 as 2.51 0.16
8006 bash 1.46 1.75
508 ld 1.25 0.15
3 bzip2 0.91 0.03
38 vulkaninfo 0.57 1.71
6 glxinfo:gdrv0 0.14 0.10
56 mawk 0.08 0.00
6 php 0.07 0.14
4 vulkani:disk$0 0.06 0.18
2 glxinfo 0.06 0.04
2 glxinfo:cs0 0.06 0.04
2 glxinfo:disk$0 0.06 0.04
2 glxinfo:sh0 0.06 0.04
2 glxinfo:shlo0 0.06 0.04
523 make 0.05 0.04
6 clang 0.03 0.09
2 llvmpipe-0 0.03 0.09
2 llvmpipe-1 0.03 0.09
2 llvmpipe-10 0.03 0.09
2 llvmpipe-11 0.03 0.09
2 llvmpipe-12 0.03 0.09
2 llvmpipe-13 0.03 0.09
2 llvmpipe-14 0.03 0.09
2 llvmpipe-15 0.03 0.09
2 llvmpipe-2 0.03 0.09
2 llvmpipe-3 0.03 0.09
2 llvmpipe-4 0.03 0.09
2 llvmpipe-5 0.03 0.09
2 llvmpipe-6 0.03 0.09
2 llvmpipe-7 0.03 0.09
2 llvmpipe-8 0.03 0.09
2 llvmpipe-9 0.03 0.09
3 rocminfo 0.03 0.00
2113 cat 0.01 0.01
6 print 0.01 0.00
3 tar 0.00 0.19
3773 rm 0.00 0.09
285 ranlib 0.00 0.06
287 ar 0.00 0.05
1 lspci 0.00 0.02
5655 sed 0.00 0.00
2559 gcc 0.00 0.00
1149 mv 0.00 0.00
961 touch 0.00 0.00
590 sort 0.00 0.00
586 tr 0.00 0.00
560 mkdir 0.00 0.00
503 collect2 0.00 0.00
307 ln 0.00 0.00
245 grep 0.00 0.00
95 sh 0.00 0.00
87 expr 0.00 0.00
87 mkdir.sh 0.00 0.00
58 dirname 0.00 0.00
48 conftest 0.00 0.00
43 chmod 0.00 0.00
43 uname 0.00 0.00
30 apr-1-config 0.00 0.00
18 basename 0.00 0.00
18 ls 0.00 0.00
16 configure 0.00 0.00
15 awk 0.00 0.00
11 gsettings 0.00 0.00
11 nm 0.00 0.00
11 pkg-config 0.00 0.00
10 hostname 0.00 0.00
10 rmdir 0.00 0.00
9 diff 0.00 0.00
8 cc 0.00 0.00
8 get-version.sh 0.00 0.00
8 stat 0.00 0.00
8 systemd-detect- 0.00 0.00
7 mktemp 0.00 0.00
7 uniq 0.00 0.00
6 apu-1-config 0.00 0.00
6 arch 0.00 0.00
6 gen_test_char 0.00 0.00
6 llvm-link 0.00 0.00
6 pcre-config 0.00 0.00
5 phoronix-test-s 0.00 0.00
4 gmain 0.00 0.00
3 PrintPath 0.00 0.00
3 build-apache 0.00 0.00
2 cmp 0.00 0.00
2 install 0.00 0.00
2 lscpu 0.00 0.00
2 which 0.00 0.00
2 xset 0.00 0.00
1 cp 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 echo 0.00 0.00
1 file 0.00 0.00
1 getconf 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 mt 0.00 0.00
1 objdump 0.00 0.00
1 ps 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 wc 0.00 0.00
1 xrandr 0.00 0.00
61 processes running
146 maximum processes
Overall a quick compilation where build-gcc and build-llvm provide a better look at a reasonable-sized compilation job.
