This test measures the time needed to carry out some sample Git operations on an example, static repository that happens to be a copy of the GNOME
GTK tool-kit repository.
This test is more about filesystem than processor. While it might not be single-threaded, tests below pinned to one core so times could be aggregated.
Metrics (Intel) - phoronix/gitsh - pid 22797 On_CPU 0.125 On_Core 0.998 IPC 2.074 Retire 0.407 (40.7%) FrontEnd 0.165 (16.5%) Spec 0.238 (23.8%) Backend 0.190 (19.0%) Elapsed 5.92 Procs 60 Maxrss 219K Minflt 242973 Majflt 0 Inblock 0 Oublock 141688 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 309 (35.5%) Nivcsw 562 Utime 5.508177 Stime 0.399221 Start 170135.88 Finish 170141.80
On_core is 100%. The IPC is medium with higher than average speculative stalls. The runtime is very quick at only 6 seconds. While there are some voluntary context switches, the On_core suggests not waiting substantially for I/O.
Metrics (AMD) - phoronix/gitsh - pid 8045 On_CPU 0.054 On_Core 0.871 IPC 2.068 FrontCyc 0.097 (9.7%) BackCyc 0.283 (28.3%) Elapsed 7.14 Procs 60 Maxrss 219K Minflt 243463 Majflt 0 Inblock 0 Oublock 141704 Msgsnd 0 Msgrcv 0 Nsignals 0 Nvcsw 320 (22.6%) Nivcsw 1093 Utime 5.854414 Stime 0.364961 Start 53673.37 Finish 53680.51
AMD IPC is almost exactly the same.
Process Tree - phoronix/gitProcess Tree
22797) sh
22798) git
22799) git
22800) git
22801) git
22802) git
22803) git
22804) git
22805) git
22806) git
22807) git
22808) git
22809) git
22810) git
22811) git
22812) mv
22813) git
22814) git
22823) git
22815) git
22816) git
22817) git
22818) git
22819) git
22820) git
22821) git
22822) git
22824) git
22825) git
22826) git
22827) git
22828) git
22829) git
22830) git
22831) git
22832) git
22833) git
22834) git
22835) git
22836) git
22837) git
22838) git
22839) git
22840) git
22841) git
22842) git
22843) git
22844) git
22845) git
22846) git
22847) git
22848) git
22849) git
22850) git
22851) git
22852) git
22853) git
22854) git
22855) git
22856) git
As expected the process tree is many git operations.

Short runtime shows some idle time, but metrics show when actually running it is 100% on a core.

IPC has some noise.

Speculative stalls contribute, otherwise some noise with a short-running benchmark.
on_cpu 0.103 elapsed 23.081 utime 16.423 stime 16.423 nvcsw 2852 (91.00%) nivcsw 282 (9.00%) inblock 0 inblock 3571096 retire 0.482 ms_uops 0.019 speculation 0.150 branch_misses 93.44% machine_clears 6.56% frontend 0.169 idq_uops_delivered_0 0.036 icache_stall 0.008 itlb_misses 0.001 idq_uops_delivered_1 0.063 idq_uops_delivered_2 0.098 idq_uops_delivered_3 0.145 dsb_ops 74.18% backend 0.200 resource_stalls.sb 0.023 stalls_ldm_pending 0.560 l2_refs 0.014 l2_misses 0.006 l2_miss_ratio 42.67% l3_refs 0.003 l3_misses 0.000 l3_miss_ratio 17.56%
Branch misses appear to be an issue. Also shows an overall high rate of L2 references, but not missing into main memory.
Next steps: None
