我正在使用 sysbench 来分析我的两个基于 NXP IMX 的设备的 CPU 性能。一个是IMX6,另一个是IMX8。我尝试在两台设备上运行以下命令。
IMX8 :sysbench --num-threads=4 --validate=on --test=cpu --cpu-max-prime=500000 --events=500 --time=120 运行
Output:
sysbench 1.0.17 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 4
Validation checks: on.
Initializing random number generator from current time
Prime numbers limit: 500000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 13.80
General statistics:
total time: 36.2101s
total number of events: 500
Latency (ms):
min: 279.18
avg: 288.61
max: 593.26
95th percentile: 325.98
sum: 144307.40
Threads fairness:
events (avg/stddev): 125.0000/0.71
execution time (avg/stddev): 36.0768/0.08
IMX6: sysbench --num-threads=4 --validate=on --test=cpu --cpu-max-prime=500000 --max-requests=500 运行
Output:
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 4
Additional request validation enabled.
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 500000
Test execution summary:
total time: 800.5712s
total number of events: 500
total time taken by event execution: 3198.2560
per-request statistics:
min: 6336.82ms
avg: 6396.51ms
max: 6625.35ms
approx. 95 percentile: 6528.87ms
Threads fairness:
events (avg/stddev): 125.0000/0.00
execution time (avg/stddev): 799.5640/0.65
命令结构的差异是由于 sysbench 版本的差异。我确实理解两个 CPU 在处理能力方面存在差异,但是这种 36 秒与 800 秒执行时间的差异是否有意义,或者这可能是由于 sysbench 工具在两个不同版本中的实现存在差异。