Aarch64 CPU Benchmarks for Performance Degrade
系统配置
- CPU:频率,缓存大小
- 内存:
dmidecode -t memory|grep DDR4 -A 5 -B11
- OS:
Benchmark
- 由于当前场景只需要证明同一产品的性能损失,并不比较不同产品间的性能绝对值。
- 与其使用复杂、实际场景的benchmark,不同从简单指令入手。
- C++代码插桩 G-benchmark
- 数据库为主 sysbench
- stress 命令 (对于 Debian/Ubuntu 系统)
- 各种老牌应用 UnixBench
micro-Benchmark
All
- 上下文启动和系统调用开销 contextswitch
- 访存 lmbench
X86
- 微架构 nanobench
- 微架构 uarch-bench
小结
- 两个系统如果没有特别注意,从g++编译器,OS的配置都不同。
- 这会导致即使简单的add指令性能一样。
- 随着程序更加复杂,编译器和OS的变量加入进来,性能差异也越来越大。
- 编译器和Kernel版本比较难迭代测试,最终只会得到性能不同的结果,但是难以分析出具体是什么原因,只能说用最新的编译器和Kernel版本。
参考文献
Aarch64 CPU Benchmarks for Performance Degrade
http://icarus.shaojiemike.top/2024/12/23/Work/software/benchmark/CPUBenchmarkForDegrade/