I've ran the same test on an Intel system, to ensure we aren't introducing any regressions there. Besides basic smoke tests, the benchmarks from the description showed that the performance on Intel is not significantly affected by this patch.
halves@rotom:~$ head -n5 /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz
halves@rotom:~$ .cargo/bin/hyperfine -n focal-2.31-0ubuntu9.2 'lxc exec halves-focal ./test_memcpy64 32' -n focal-patched 'lxc exec halves-focal-patched ./test_memcpy64 32'
Benchmark #1: focal-2.31-0ubuntu9.2
Time (mean ± σ): 2.662 s ± 0.058 s [User: 53.4 ms, System: 79.6 ms]
Range (min … max): 2.559 s … 2.718 s 10 runs
Benchmark #2: focal-patched
Time (mean ± σ): 2.650 s ± 0.074 s [User: 61.5 ms, System: 76.1 ms]
Range (min … max): 2.558 s … 2.759 s 10 runs
Summary
'focal-patched' ran
1.00 ± 0.04 times faster than 'focal-2.31-0ubuntu9.2'
halves@rotom:~$ .cargo/bin/hyperfine -n groovy-2.32-0ubuntu3 'lxc exec halves-groovy ./test_memcpy64 32' -n groovy-patched 'lxc exec halves-groovy-patched ./test_memcpy64 32'
Benchmark #1: groovy-2.32-0ubuntu3
Time (mean ± σ): 2.643 s ± 0.044 s [User: 52.4 ms, System: 76.0 ms]
Range (min … max): 2.575 s … 2.746 s 10 runs
Benchmark #2: groovy-patched
Time (mean ± σ): 2.626 s ± 0.036 s [User: 63.1 ms, System: 79.7 ms]
Range (min … max): 2.590 s … 2.701 s 10 runs
Summary
'groovy-patched' ran
1.01 ± 0.02 times faster than 'groovy-2.32-0ubuntu3'
I've ran the same test on an Intel system, to ensure we aren't introducing any regressions there. Besides basic smoke tests, the benchmarks from the description showed that the performance on Intel is not significantly affected by this patch.
halves@rotom:~$ head -n5 /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz
halves@rotom:~$ .cargo/ bin/hyperfine -n focal-2. 31-0ubuntu9. 2 'lxc exec halves-focal ./test_memcpy64 32' -n focal-patched 'lxc exec halves- focal-patched ./test_memcpy64 32' 31-0ubuntu9. 2
Benchmark #1: focal-2.
Time (mean ± σ): 2.662 s ± 0.058 s [User: 53.4 ms, System: 79.6 ms]
Range (min … max): 2.559 s … 2.718 s 10 runs
Benchmark #2: focal-patched
Time (mean ± σ): 2.650 s ± 0.074 s [User: 61.5 ms, System: 76.1 ms]
Range (min … max): 2.558 s … 2.759 s 10 runs
Summary 2.31-0ubuntu9. 2'
'focal-patched' ran
1.00 ± 0.04 times faster than 'focal-
halves@rotom:~$ .cargo/ bin/hyperfine -n groovy- 2.32-0ubuntu3 'lxc exec halves-groovy ./test_memcpy64 32' -n groovy-patched 'lxc exec halves- groovy- patched ./test_memcpy64 32' 2.32-0ubuntu3
Benchmark #1: groovy-
Time (mean ± σ): 2.643 s ± 0.044 s [User: 52.4 ms, System: 76.0 ms]
Range (min … max): 2.575 s … 2.746 s 10 runs
Benchmark #2: groovy-patched
Time (mean ± σ): 2.626 s ± 0.036 s [User: 63.1 ms, System: 79.7 ms]
Range (min … max): 2.590 s … 2.701 s 10 runs
Summary 2.32-0ubuntu3'
'groovy-patched' ran
1.01 ± 0.02 times faster than 'groovy-