This benchmark tests the system memory (RAM) performance.
This test is single-threaded and was run pinned to core 1.
As with other memory tests, the test is backend bound.
Metrics (Intel) - phoronix/tinymembenchsh - pid 15845 On_CPU 0.125 On_Core 1.000 IPC 0.397 Retire 0.079 (7.9%) FrontEnd 0.003 (0.3%) Spec 0.020 (2.0%) Backend 0.898 (89.8%) Elapsed 290.58 Procs 3 Maxrss 74K Minflt 35353 Majflt 0 Inblock 0 Oublock 24 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (14.8%) Nivcsw 104 Utime 290.540953 Stime 0.040069 Start 541559.95 Finish 541850.53
The test is On_core 100%. IPC is low and backend stalls are high.
Description - phoronix/tinymembenchsh - pid 10405 On_CPU 0.062 On_Core 0.999 IPC 0.420 FrontCyc 0.000 (0.0%) BackCyc 0.000 (0.0%) Elapsed 211.32 Procs 3 Maxrss 74K Minflt 35353 Majflt 0 Inblock 0 Oublock 24 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (0.1%) Nivcsw 20525 Utime 211.161411 Stime 0.023985 Start 424569.29 Finish 424780.61
AMD metrics are similar.
Process Tree - phoronix/tinymembench
Process Tree
The process tree is simple
15845) sh 15846) tinymembench 15847) tinymembench
The On_core is 100%
The IPC varies as the code goes through different phases.
Backend stalls are inversely related to retirements and IPC.
on_cpu 0.124 elapsed 219.218 utime 216.653 stime 0.237 nvcsw 881 (90.27%) nivcsw 95 (9.73%) inblock 0 onblock 672 retire 0.100 ms_uops 0.004 speculation 0.001 branch_misses 3.98% machine_clears 96.02% frontend 0.007 idq_uops_delivered_0 0.002 icache_stall 0.001 itlb_misses 0.000 idq_uops_delivered_1 0.003 idq_uops_delivered_2 0.004 idq_uops_delivered_3 0.004 dsb_ops 69.66% backend 0.892 resource_stalls.sb 0.116 stalls_ldm_pending 0.822 l2_refs 0.019 l2_misses 0.015 l2_miss_ratio 78.02% l3_refs 0.008 l3_misses 0.003 l3_miss_ratio 35.16%
Relatively high cache miss rates.