This is a performance test of TSCP, Tom Kerrigan’s Simple Chess Program, which has a built-in performance benchmark.
This test is single-threaded and runs in just over a second on my Intel system. Runs below were pinned to core 1.
Metrics (Intel) - phoronix/tscpsh - pid 13617 On_CPU 0.125 On_Core 1.004 IPC 1.799 Retire 0.383 (38.3%) FrontEnd 0.323 (32.3%) Spec 0.192 (19.2%) Backend 0.102 (10.2%) Elapsed 1.27 Procs 3 Maxrss 10K Minflt 238 Majflt 0 Inblock 0 Oublock 16 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (81.8%) Nivcsw 4 Utime 1.273975 Stime 0.000926 Start 566559.11 Finish 566560.38
In its brief time, the benchmark is scheduled 100% on the CPU. Frontend stalls and bad speculation are the largest issues.
Metrics (AMD) - phoronix/tscpsh - pid 15958 On_CPU 0.063 On_Core 1.001 IPC 1.519 FrontCyc 0.022 (2.2%) BackCyc 0.345 (34.5%) Elapsed 1.62 Procs 3 Maxrss 10K Minflt 242 Majflt 0 Inblock 0 Oublock 16 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 18 (9.7%) Nivcsw 167 Utime 1.621309 Stime 0.000000 Start 576771.03 Finish 576772.65
With the granularity of my other charts at once per second, I don’t get much more details than lists above.
retire 0.378 ms_uops 0.006 speculation 0.226 branch_misses 95.66% machine_clears 4.34% frontend 0.321 idq_uops_delivered_0 0.079 idq_uops_delivered_1 0.112 idq_uops_delivered_2 0.196 idq_uops_delivered_3 0.265 backend 0.075 resource_stalls.sb 0.005 stalls_ldm_pending 0.577
Topdown details show the speculation issues are branch prediction. There are a fair number of cycles with outstanding memory requests, however these get hidden behind frontend stalls and speculation stalls and hence backend is not a big factor.
Process Tree - phoronix/tscp
Process Tree
The process tree is simple
13617) sh 13618) tscp 13619) tscp
Overall, this seems mostly like an extremely small toy benchmark.
Next steps: None