1- # CI benchmarking machine
2- The machine that actually executes the benchmarks in CI has the following configuration.
1+ # Benchmarking machine
2+ The machine that actually executes the benchmarks is the ` AX-42 ` server running on [ Hetzner ] ( https://www.hetzner.com/dedicated-rootserver/ ) . It has the following configuration.
33
44## Hardware
5- - 6 -core AMD Ryzen 5 3600 with HyperThreading (12 hardware threads total)
5+ - 8 -core AMD Ryzen 7 PRO 8700GE with HyperThreading (16 hardware threads total)
66 <details >
77 <summary >Output of `lscpu`</summary >
88
99 ```
10- Architecture: x86_64
11- CPU op-mode(s): 32-bit, 64-bit
12- Byte Order: Little Endian
13- CPU(s): 12
14- On-line CPU(s) list: 0-11
15- Thread(s) per core: 2
16- Core(s) per socket: 6
17- Socket(s): 1
18- NUMA node(s): 1
19- Vendor ID: AuthenticAMD
20- CPU family: 23
21- Model: 113
22- Model name: AMD Ryzen 5 3600 6-Core Processor
23- Stepping: 0
24- CPU MHz: 3819.020
25- CPU max MHz: 3600.0000
26- CPU min MHz: 2200.0000
27- BogoMIPS: 7186.58
28- Virtualization: AMD-V
29- L1d cache: 32K
30- L1i cache: 32K
31- L2 cache: 512K
32- L3 cache: 16384K
33- NUMA node0 CPU(s): 0-11
34- Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
10+ Architecture: x86_64
11+ CPU op-mode(s): 32-bit, 64-bit
12+ Address sizes: 48 bits physical, 48 bits virtual
13+ Byte Order: Little Endian
14+ CPU(s): 16
15+ On-line CPU(s) list: 0-7
16+ Off-line CPU(s) list: 8-15
17+ Vendor ID: AuthenticAMD
18+ Model name: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
19+ CPU family: 25
20+ Model: 117
21+ Thread(s) per core: 1
22+ Core(s) per socket: 8
23+ Socket(s): 1
24+ Stepping: 2
25+ CPU(s) scaling MHz: 88%
26+ CPU max MHz: 5184.0000
27+ CPU min MHz: 0.0000
28+ BogoMIPS: 7300.19
29+ Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl
30+ flush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm co
31+ nstant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmpe
32+ rf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt ae
33+ s xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4
34+ a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core p
35+ erfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba pe
36+ rfmon_v2 ibrs ibpb stibp ibrs_enhanced vmmcall fsgsbase bmi1 avx2 smep bmi
37+ 2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflu
38+ shopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsave
39+ s cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk avx512_bf16
40+ clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_
41+ save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshol
42+ d avic vgif x2avic v_spec_ctrl vnmi avx512vbmi umip pku ospke avx512_vbmi2
43+ gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid ove
44+ rflow_recov succor smca fsrm flush_l1d
45+ Virtualization features:
46+ Virtualization: AMD-V
47+ Caches (sum of all):
48+ L1d: 256 KiB (8 instances)
49+ L1i: 256 KiB (8 instances)
50+ L2: 8 MiB (8 instances)
51+ L3: 16 MiB (1 instance)
52+ NUMA:
53+ NUMA node(s): 1
54+ NUMA node0 CPU(s): 0-7
55+ Vulnerabilities:
56+ Gather data sampling: Not affected
57+ Itlb multihit: Not affected
58+ L1tf: Not affected
59+ Mds: Not affected
60+ Meltdown: Not affected
61+ Mmio stale data: Not affected
62+ Reg file data sampling: Not affected
63+ Retbleed: Not affected
64+ Spec rstack overflow: Mitigation; Safe RET
65+ Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
66+ Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
67+ Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; STIBP always-on;
68+ RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
69+ Srbds: Not affected
70+ Tsx async abort: Not affected
3571 ```
3672
3773 </details>
38- - 64 GiB RAM, 32 GiB of swap
74+ - 64 GiB RAM, swap disabled
3975
4076## Software
41- - Kernel: `4.15 .0-191 -generic`
42- - OS: Ubuntu `18 .04`
77+ - Kernel: `6.8 .0-60 -generic`
78+ - OS: Ubuntu `24 .04`
4379
4480## Configuration
45- ### HyperThreading & Turboboost
46- As of November 2022, both are disabled.
4781
48- Prior to October 2022, both were enabled. During October 2022 some
49- [experimentation](https://github.com/rust-lang/rustc-perf/issues/1450) was done
50- which found that disabling both reduced variance significantly.
82+ The machine is configured via [this](https://github.com/rust-lang/simpleinfra/blob/master/ansible/playbooks/rustc-perf.yml) Ansible script.
83+
84+ ### HyperThreading & Turboboost
85+ Both are disabled.
5186
5287### CPU scaling
5388Scaling governor set to `performance`.
@@ -62,4 +97,4 @@ Note that ASLR is also
6297Disabled with `kernel.nmi_watchdog=0` in `sysctl.conf`.
6398
6499### Swap
65- `vm.swappiness` set to `60` .
100+ `vm.swappiness` set to `10`. Swap is disabled anyway though .
0 commit comments