SPEC CPU result comparison

Comparison of x86_64 levels - Summer 2022

SPEC2017 INTrate: LTO -Ofast - Different x86_64 levels

-flto -Ofast

AMD EPYC 7543P (zen3 based Milan)

Run-times

Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 101.66% 102.48% 100.00% 100.81%
502.gcc_r 100.00% 100.00% 100.00% 100.00% 100.00%
505.mcf_r 100.00% 101.18% 100.71% 100.00% 99.53%
520.omnetpp_r 100.00% 98.63% 99.77% 100.00% 101.15%
523.xalancbmk_r 100.00% 101.56% 100.67% 100.00% 99.12%
525.x264_r 100.00% 96.36% 107.00% 100.00% 111.05%
531.deepsjeng_r 100.00% 95.69% 93.02% 100.00% 97.21%
541.leela_r 100.00% 101.32% 100.00% 100.00% 98.70%
548.exchange2_r 100.00% 100.75% 100.00% 100.00% 99.26%
557.xz_r 100.00% 100.00% 100.41% 100.00% 100.41%
The compiler used was GCC 12.1.0.
Naturally, the smaller the run-times, the better. On the other hand, rates and especially their geometric means are better when they are greater.
See also continuous gcc tuning benchmarking at https://lnt.opensuse.org/db_default/v4/SPEC/spec_report/tuning.

Non-debug executable sizes

Click to display/hide
Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 100.00% 100.83% 100.00% 100.83%
502.gcc_r 100.00% 100.03% 100.70% 100.00% 100.67%
505.mcf_r 100.00% 100.00% 109.38% 100.00% 109.38%
520.omnetpp_r 100.00% 99.94% 101.11% 100.00% 101.17%
523.xalancbmk_r 100.00% 100.01% 101.29% 100.00% 101.28%
525.x264_r 100.00% 97.18% 97.42% 100.00% 100.25%
531.deepsjeng_r 100.00% 99.99% 100.01% 100.00% 100.02%
541.leela_r 100.00% 100.42% 101.40% 100.00% 100.98%
548.exchange2_r 100.00% 99.71% 122.29% 100.00% 122.65%
557.xz_r 100.00% 99.89% 101.89% 100.00% 102.01%
Smaller binary sizes are always better.

Intel Cascade Lake Xeon

Run-times

Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 100.62% 102.49% 100.00% 101.86%
502.gcc_r 100.00% 99.58% 99.58% 100.00% 100.00%
505.mcf_r 100.00% 102.80% 102.56% 100.00% 99.77%
520.omnetpp_r 100.00% 99.30% 99.30% 100.00% 100.00%
523.xalancbmk_r 100.00% 100.67% 101.11% 100.00% 100.44%
525.x264_r 100.00% 96.11% 98.45% 100.00% 102.43%
531.deepsjeng_r 100.00% 95.78% 92.62% 100.00% 96.70%
541.leela_r 100.00% 100.67% 101.12% 100.00% 100.44%
548.exchange2_r 100.00% 100.00% 99.34% 100.00% 99.34%
557.xz_r 100.00% 100.64% 100.64% 100.00% 100.00%
The compiler used was GCC 12.1.0.
Naturally, the smaller the run-times, the better. On the other hand, rates and especially their geometric means are better when they are greater.
See also continuous gcc tuning benchmarking at https://lnt.opensuse.org/db_default/v4/SPEC/spec_report/tuning.

Non-debug executable sizes

Click to display/hide
Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 100.00% 100.83% 100.00% 100.83%
502.gcc_r 100.00% 100.03% 100.70% 100.00% 100.67%
505.mcf_r 100.00% 100.00% 109.38% 100.00% 109.38%
520.omnetpp_r 100.00% 99.94% 101.11% 100.00% 101.17%
523.xalancbmk_r 100.00% 100.01% 101.29% 100.00% 101.28%
525.x264_r 100.00% 97.18% 97.42% 100.00% 100.25%
531.deepsjeng_r 100.00% 99.99% 100.01% 100.00% 100.02%
541.leela_r 100.00% 100.42% 101.40% 100.00% 100.98%
548.exchange2_r 100.00% 99.71% 122.29% 100.00% 122.65%
557.xz_r 100.00% 99.89% 101.89% 100.00% 102.01%
Smaller binary sizes are always better.