Description - phoronix/tjbench

tjbench is a JPEG decompression/compression benchmark part of libjpeg-turbo.

This code is single-threaded and was run pinned to core 1.

Metrics (Intel) - phoronix/tjbench
sh - pid 7457
	On_CPU   0.125
	On_Core  1.000
	IPC      2.557
	Retire   0.534	(53.4%)
	FrontEnd 0.044	(4.4%)
	Spec     0.236	(23.6%)
	Backend  0.186	(18.6%)
	Elapsed   6.18
	Procs    16
	Maxrss   82K
	Minflt   22471
	Majflt   0
	Inblock  0
	Oublock  16
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    129	(67.5%)
	Nivcsw   62
	Utime    6.155447
	Stime    0.024053
	Start    692342.22
	Finish   692348.40

The On_Core is 100%. The IPC is high with a higher than average percent of bad speculation. As seen below, this seems to be branch mis-prediction. The runtime is only 6 seconds.

Metrics (AMD) - phoronix/tjbench
sh - pid 11480
	On_CPU   0.063
	On_Core  1.001
	IPC      2.752
	FrontCyc 0.000	(0.0%)
	BackCyc  0.000	(0.0%)
	Elapsed   6.10
	Procs    16
	Maxrss   82K
	Minflt   22501
	Majflt   0
	Inblock  0
	Oublock  16
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    129	(17.0%)
	Nivcsw   629
	Utime    6.080309
	Stime    0.024571
	Start    575740.65
	Finish   575746.75

AMD IPC is also similarly high.

Process Tree - phoronix/tjbench
Process Tree
The process tree is simple:

    7457) sh
      7458) tjbench
        7459) tjbench
          7460) tjbench
            7461) tjbench
          7462) tjbench
          7463) tjbench
            7464) tjbench
            7465) sed
          7466) tjbench
            7467) ls
            7468) sed
          7469) tjbench
          7470) tjbench
            7471) tjbench
            7472) sed


On_Core is 100%.


IPC is consistently high.


Bad speculation is higher than average.

Topdown (Intel)
on_cpu         0.103
elapsed        23.483
utime          18.953
stime          0.341
nvcsw          1041 (95.59%)
nivcsw         48 (4.41%)
inblock        0
onblock        696
retire         0.647
ms_uops                0.004
speculation    0.115
branch_misses          92.79%
machine_clears         7.21%
frontend       0.054
idq_uops_delivered_0   0.012
icache_stall               0.002
itlb_misses                0.001
idq_uops_delivered_1   0.016
idq_uops_delivered_2   0.029
idq_uops_delivered_3   0.053
dsb_ops                    82.93%
backend        0.184
resource_stalls.sb     0.003
stalls_ldm_pending     0.545
l2_refs                    0.003
l2_misses                  0.001
l2_miss_ratio              27.44%
l3_refs                    0.000
l3_misses                  0.000
l3_miss_ratio              18.53%

Speculation misses are mostly branch prediction related.

Next steps: None