neofetch; # tested on (fancy version of uname -a or hostnamectl


su - root
apt update
apt install stress-ng
# Ctrl+D log off root

# what cpu
cat /proc/cpuinfo |head
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 80
model name	: AMD Ryzen 5 5600G with Radeon Graphics
stepping	: 0
microcode	: 0xa50000d
cpu MHz		: 4365.817
cache size	: 512 KB
physical id	: 0

# simple single core cpu + harddisk benchmark
wget https://dwaves.de/scripts/benchmark_md5sum.sh.txt
vim benchmark_md5sum.sh.txt; # everything ok?
mv benchmark_md5sum.sh.txt /scripts/benchmark_md5sum.sh
chmod +x /scripts/*.sh

# run it
time /scripts/benchmark_md5sum.sh 
# example result
=== installed cpu:
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Vendor ID: ARM
Model name: Neoverse-N1
Model: 1
Thread(s) per core: 1
Core(s) per socket: 2
processor : 0
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 1
=== number of cores:
2
=== generate 1GB test file
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.31136 s, 819 MB/s
=== display filesize of generated testfile
1.1G md5sumTestFile
=== running md5sum on testfile (single core)
cd573cfaace07e7949bc0c46028904ff md5sumTestFile
real 0m3.340s

time /scripts/benchmark_md5sum.sh
=== installed cpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Vendor ID: GenuineIntel
Model name: Intel Xeon Processor (Skylake, IBRS)
CPU family: 6
Model: 85
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel Xeon Processor (Skylake, IBRS)
stepping : 4
microcode : 0x1
cpu MHz : 2294.608
cache size : 16384 KB
physical id : 0
=== number of cores:
1
=== generate 1GB test file
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 6.87524 s, 156 MB/s
=== display filesize of generated testfile
1.1G md5sumTestFile
=== running md5sum on testfile (single core)
cd573cfaace07e7949bc0c46028904ff md5sumTestFile
real 0m10.852s

time /scripts/benchmark_md5sum.sh 
=== installed cpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 5 5600G with Radeon Graphics
CPU family: 25
Model: 80
processor : 0
vendor_id : AuthenticAMD
cpu family : 25
model : 80
model name : AMD Ryzen 5 5600G with Radeon Graphics
stepping : 0
microcode : 0xa50000d
cpu MHz : 2365.000
cache size : 512 KB
physical id : 0
=== number of cores:
12
=== generate 1GB test file
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.79185 s, 385 MB/s
=== display filesize of generated testfile
1.0G md5sumTestFile
=== running md5sum on testfile (single core)
cd573cfaace07e7949bc0c46028904ff md5sumTestFile
real 0m4.252s
# multi core multi thread cpu benchmark with sysbench
sysbench cpu --threads=$(nproc) run
sysbench 1.0.20 (using system LuaJIT 2.1.1700206165)
Running the test with following options:
Number of threads: 12
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 30520.15
General statistics:
total time: 10.0003s
total number of events: 305225
Latency (ms):
min: 0.20
avg: 0.39
max: 61.56
95th percentile: 0.42
sum: 119107.96
Threads fairness:
events (avg/stddev): 25435.4167/1786.69
execution time (avg/stddev): 9.9257/0.01

root@rockpi-e:~# sysbench cpu --threads=$(nproc) run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 2534.61
General statistics:
total time: 10.0014s
total number of events: 25362
Latency (ms):
min: 1.56
avg: 1.58
max: 5.59
95th percentile: 1.58
sum: 39987.61
Threads fairness:
events (avg/stddev): 6340.5000/9.55
execution time (avg/stddev): 9.9969/0.00
# so this means that multi core wise the AMD Ryzen 5 5600G
# is 12.03x faster
# than the RK3588 ARMv8
# while (of course) using way more energy 100W vs 5W (20x times less)

# alternatively
# but man stress-ng says bogomips is no good way of comparing cpu performance?
stress-ng --cpu $(nproc) --timeout 30s --metrics-brief --progress --verbose
stress-ng: debug: [44575] invoked with 'stress-ng --cpu 12 --timeout 30s --metrics-brief --progress --verbose' by user 1000 'canoodle'
stress-ng: debug: [44575] stress-ng 0.18.07
stress-ng: debug: [44575] system: Linux workstation 6.11.5-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1 (2024-10-27) x86_64, gcc 14.2.0, glibc 2.40, little endian
stress-ng: debug: [44575] RAM total: 30.7G, RAM free: 310.1M, swap free: 33.0G
stress-ng: debug: [44575] temporary file path: '/home/canoodle', filesystem type: ext2 (45780604 blocks available)
stress-ng: debug: [44575] CPUs have 5 idle states: C0, C1, C2, C3, POLL
stress-ng: debug: [44575] 12 processors online, 12 processors configured
stress-ng: info: [44575] setting to a 30 secs run per stressor
stress-ng: debug: [44575] CPU data cache: L1: 32K, L2: 512K, L3: 16384K
stress-ng: debug: [44575] cache allocate: shared cache buffer size: 16384K
stress-ng: info: [44575] dispatching hogs: 12 cpu
stress-ng: warn: [44575] WARNING! using HPET clocksource (refer to /sys/devices/system/clocksource/clocksource0), this may impact benchmarking performance
stress-ng: info: [44575] note: 12 cpus have scaling governors set to powersave and this may impact performance; setting /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor to 'performance' may improve performance
stress-ng: debug: [44575] starting stressors
stress-ng: debug: [44576] cpu: [44576] started (instance 0 on CPU 5)
stress-ng: debug: [44577] cpu: [44577] started (instance 1 on CPU 7)
stress-ng: debug: [44578] cpu: [44578] started (instance 2 on CPU 9)
stress-ng: debug: [44576] cpu: using method 'all'
stress-ng: debug: [44579] cpu: [44579] started (instance 3 on CPU 1)
stress-ng: debug: [44580] cpu: [44580] started (instance 4 on CPU 4)
stress-ng: debug: [44581] cpu: [44581] started (instance 5 on CPU 5)
stress-ng: debug: [44582] cpu: [44582] started (instance 6 on CPU 5)
stress-ng: debug: [44583] cpu: [44583] started (instance 7 on CPU 2)
stress-ng: debug: [44584] cpu: [44584] started (instance 8 on CPU 2)
stress-ng: debug: [44585] cpu: [44585] started (instance 9 on CPU 2)
stress-ng: debug: [44586] cpu: [44586] started (instance 10 on CPU 4)
stress-ng: debug: [44575] 12 stressors started
stress-ng: debug: [44587] cpu: [44587] started (instance 11 on CPU 4)
stress-ng: debug: [44576] cpu: [44576] exited (instance 0 on CPU 4)
stress-ng: debug: [44577] cpu: [44577] exited (instance 1 on CPU 10)
stress-ng: debug: [44579] cpu: [44579] exited (instance 3 on CPU 8)
stress-ng: debug: [44575] cpu: [44576] terminated (success)
stress-ng: debug: [44575] cpu: [44577] terminated (success)
stress-ng: debug: [44580] cpu: [44580] exited (instance 4 on CPU 11)
stress-ng: debug: [44578] cpu: [44578] exited (instance 2 on CPU 4)
stress-ng: debug: [44582] cpu: [44582] exited (instance 6 on CPU 2)
stress-ng: debug: [44575] cpu: [44578] terminated (success)
stress-ng: debug: [44575] cpu: [44579] terminated (success)
stress-ng: debug: [44575] cpu: [44580] terminated (success)
stress-ng: debug: [44585] cpu: [44585] exited (instance 9 on CPU 8)
stress-ng: debug: [44584] cpu: [44584] exited (instance 8 on CPU 3)
stress-ng: debug: [44581] cpu: [44581] exited (instance 5 on CPU 5)
stress-ng: debug: [44575] cpu: [44581] terminated (success)
stress-ng: debug: [44575] cpu: [44582] terminated (success)
stress-ng: debug: [44587] cpu: [44587] exited (instance 11 on CPU 6)
stress-ng: debug: [44583] cpu: [44583] exited (instance 7 on CPU 9)
stress-ng: debug: [44575] cpu: [44583] terminated (success)
stress-ng: debug: [44575] cpu: [44584] terminated (success)
stress-ng: debug: [44575] cpu: [44585] terminated (success)
stress-ng: debug: [44586] cpu: [44586] exited (instance 10 on CPU 4)
stress-ng: debug: [44575] cpu: [44586] terminated (success)
stress-ng: debug: [44575] cpu: [44587] terminated (success)
stress-ng: debug: [44575] metrics-check: all stressor metrics validated and sane
stress-ng: metrc: [44575] stressor bogo ops real time usr time sys time bogo ops/s bogo ops/s
stress-ng: metrc: [44575] (secs) (secs) (secs) (real time) (usr+sys time)
stress-ng: metrc: [44575] cpu 468074 30.00 312.91 0.44 15601.94 1493.80
stress-ng: info: [44575] skipped: 0
stress-ng: info: [44575] passed: 12: cpu (12)
stress-ng: info: [44575] failed: 0
stress-ng: info: [44575] metrics untrustworthy: 0
stress-ng: info: [44575] successful run completed in 30.01 secs
# opengl based gpu benchmark
apt install glmark2
time glmark2

=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: AMD
GL_RENDERER: AMD Radeon Graphics (radeonsi, renoir, LLVM 19.1.3, DRM 3.59, 6.11.5-amd64)
GL_VERSION: 4.6 (Compatibility Profile) Mesa 24.2.6-1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 9804 FrameTime: 0.102 ms
[build] use-vbo=true: FPS: 12362 FrameTime: 0.081 ms
[texture] texture-filter=nearest: FPS: 11958 FrameTime: 0.084 ms
[texture] texture-filter=linear: FPS: 10774 FrameTime: 0.093 ms
[texture] texture-filter=mipmap: FPS: 9741 FrameTime: 0.103 ms
[shading] shading=gouraud: FPS: 9511 FrameTime: 0.105 ms
[shading] shading=blinn-phong-inf: FPS: 10203 FrameTime: 0.098 ms
[shading] shading=phong: FPS: 10151 FrameTime: 0.099 ms
[shading] shading=cel: FPS: 9555 FrameTime: 0.105 ms
[bump] bump-render=high-poly: FPS: 6636 FrameTime: 0.151 ms
[bump] bump-render=normals: FPS: 13882 FrameTime: 0.072 ms
[bump] bump-render=height: FPS: 13550 FrameTime: 0.074 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 9596 FrameTime: 0.104 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 4934 FrameTime: 0.203 ms
[pulsar] light=false:quads=5:texture=false: FPS: 10737 FrameTime: 0.093 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 4764 FrameTime: 0.210 ms
[desktop] effect=shadow:windows=4: FPS: 8909 FrameTime: 0.112 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 2067 FrameTime: 0.484 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 2702 FrameTime: 0.370 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 2854 FrameTime: 0.350 ms
[ideas] speed=duration: FPS: 6790 FrameTime: 0.147 ms
[jellyfish] <default>: FPS: 6876 FrameTime: 0.145 ms
[terrain] <default>: FPS: 571 FrameTime: 1.754 ms
[shadow] <default>: FPS: 8958 FrameTime: 0.112 ms
[refract] <default>: FPS: 916 FrameTime: 1.092 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 11876 FrameTime: 0.084 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 11255 FrameTime: 0.089 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 12402 FrameTime: 0.081 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 11848 FrameTime: 0.084 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 11898 FrameTime: 0.084 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 11804 FrameTime: 0.085 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 11227 FrameTime: 0.089 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 11353 FrameTime: 0.088 ms
=======================================================
glmark2 Score: 8861 
=======================================================

real 5m30.778s

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!
admin