Description - phoronix/gimp

GIMP is an open-source image manipulaton program. This test profile will use the system-provided GIMP program otherwise on Windows relys upon a pre-packaged Windows binary from upstream GIMP.org.

The test uses the gimp installed on the system to run three different batch commands with the -b option, in the following order:

  • batch-resize-image
  • batch-auto-levels
  • batch-unsharp-mask

The test is single threaded and all cases were run pinned to core 1.

Metrics (Intel) - phoronix/gimp
sh - pid 18788 // resize
	On_CPU   0.112
	On_Core  0.896
	IPC      1.716
	Retire   0.361	(36.1%)
	FrontEnd 0.230	(23.0%)
	Spec     0.165	(16.5%)
	Backend  0.244	(24.4%)
	Elapsed   3.84
	Procs    34
	Minflt   123239
	Majflt   0
	Utime    2.27    	(66.0%)
	Stime    1.17    	(34.0%)
	Start    180719.39
	Finish   180723.23
sh - pid 18942 // auto-levels
	On_CPU   0.134
	On_Core  1.071
	IPC      1.861
	Retire   0.380	(38.0%)
	FrontEnd 0.169	(16.9%)
	Spec     0.211	(21.1%)
	Backend  0.240	(24.0%)
	Elapsed   7.48
	Procs    34
	Minflt   308478
	Majflt   0
	Utime    6.18    	(77.2%)
	Stime    1.83    	(22.8%)
	Start    180745.88
	Finish   180753.36
sh - pid 19064 // unsharpen-mask
	On_CPU   0.128
	On_Core  1.026
	IPC      1.577
	Retire   0.357	(35.7%)
	FrontEnd 0.285	(28.5%)
	Spec     0.158	(15.8%)
	Backend  0.200	(20.0%)
	Elapsed  16.16
	Procs    39
	Minflt   361041
	Majflt   0
	Utime    11.99   	(72.3%)
	Stime    4.59    	(27.7%)
	Start    180783.29
	Finish   180799.45

Overall, stalls in front end and speculation are higher than average. The On_Core amount is slightly high if this is pinned to a single core, so I suspect the OS is giving me some extra time somewhere.

Metrics (AMD) - phoronix/gimp
sh - pid 19143 // resize
	On_CPU   0.055
	On_Core  0.875
	IPC      1.794
	FrontCyc 0.132	(13.2%)
	BackCyc  0.199	(19.9%)
	Elapsed   3.69
	Procs    42
	Minflt   123477
	Majflt   0
	Utime    2.20    	(68.1%)
	Stime    1.03    	(31.9%)
	Start    486072.57
	Finish   486076.26
sh - pid 19290 // auto-levels
	On_CPU   0.066
	On_Core  1.059
	IPC      1.965
	FrontCyc 0.116	(11.6%)
	BackCyc  0.235	(23.5%)
	Elapsed   7.23
	Procs    42
	Minflt   309126
	Majflt   0
	Utime    6.15    	(80.3%)
	Stime    1.51    	(19.7%)
	Start    486099.33
	Finish   486106.56
sh - pid 19437 // unsharpen-mask
	On_CPU   0.063
	On_Core  1.011
	IPC      1.640
	FrontCyc 0.095	(9.5%)
	BackCyc  0.191	(19.1%)
	Elapsed  15.28
	Procs    47
	Minflt   362568
	Majflt   0
	Utime    11.71   	(75.8%)
	Stime    3.74    	(24.2%)
	Start    486136.66
	Finish   486151.94

Process Tree - phoronix/gimp
Process Tree
While my test seemed to run single-threaded, it looks like gimp itself creates a pool of backend processes. Also the test seems to run several scripts.

   18788) sh elapsed=3.84 start=0.00 finish=3.84 cpu=1
      18789) gimp elapsed=3.84 start=0.00 finish=3.84 cpu=1
        18790) gimp elapsed=3.82 start=0.00 finish=3.82 cpu=1
          18800) script-fu elapsed=3.37 start=0.25 finish=3.62 cpu=1
          18801) script-fu elapsed=2.72 start=0.55 finish=3.27 cpu=1
          18802) file-glob elapsed=0.01 start=0.88 finish=0.89 cpu=1
          18803) file-jpeg elapsed=0.33 start=0.89 finish=1.22 cpu=1
          18804) metadata elapsed=0.06 start=0.90 finish=0.96 cpu=1
          18807) file-jpeg elapsed=0.03 start=1.35 finish=1.38 cpu=1
          18808) file-jpeg elapsed=0.34 start=1.38 finish=1.72 cpu=1
          18809) metadata elapsed=0.07 start=1.39 finish=1.46 cpu=1
          18810) file-jpeg elapsed=0.03 start=1.86 finish=1.89 cpu=1
          18811) file-jpeg elapsed=0.28 start=1.89 finish=2.17 cpu=1
          18812) metadata elapsed=0.04 start=1.90 finish=1.94 cpu=1
          18813) file-jpeg elapsed=0.03 start=2.31 finish=2.34 cpu=1
          18814) file-jpeg elapsed=0.29 start=2.34 finish=2.63 cpu=1
          18815) metadata elapsed=0.05 start=2.34 finish=2.39 cpu=1
          18816) file-jpeg elapsed=0.02 start=2.77 finish=2.79 cpu=1
          18817) file-jpeg elapsed=0.32 start=2.79 finish=3.11 cpu=1
          18818) metadata elapsed=0.06 start=2.80 finish=2.86 cpu=1
          18819) file-jpeg elapsed=0.03 start=3.24 finish=3.27 cpu=1
          18820) script-fu elapsed=0.34 start=3.27 finish=3.61 cpu=1
        18791) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18792) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18793) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18794) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18795) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18796) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18797) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18798) pool elapsed=3.76 start=0.06 finish=3.82 cpu=1
        18799) font-cacher elapsed=0.00 start=0.23 finish=0.23 cpu=1
        18821) gimp elapsed=0.01 start=3.83 finish=3.84 cpu=1
        18822) head elapsed=0.01 start=3.83 finish=3.84 cpu=1
        18823) awk elapsed=0.01 start=3.83 finish=3.84 cpu=1


Plots from /proc/stat suggest lower On_CPU than getting the metrics from the process. Otherwise a bit spiky as processes/start and finish and presumably as I/O is done.


The overall IPC ranges between 1.5 and 2.0 but varies through the benchmark.


Overall stalls as they contribute to the IPC.

Next steps: Drill down to next level on front end and speculative areas.