Carl Johnson wrote: > #CPUs time theoretical time-theoretical gain/CPU(theoretical) > 1 66 > 2 36 66/2 = 33 36-33 = 3 (+9%) 1 -1/2 = 1/2 > 3 25 66/3 = 22 25-22 = 3 (+14%) 1/2-1/3 = 1/6 > 4 20 66/4 = 16.5 20-16.5 = 3.5 (+21%) 1/3-1/4 = 1/12 I liked that analysis. Here is some raw data from another test using GraphicsMagic from Debian Sid on an Intel Core2 Quad CPU Q9400 @ 2.66GHz. #CPUs real user sys 1 ... 32.17 100.15 2.29 2 ... 28.02 102.09 2.25 3 ... 26.96 101.41 2.02 4 ... 26.18 99.85 2.10 5 ... 26.03 98.58 2.27 6 ... 27.07 97.32 2.17 7 ... 27.74 100.09 2.03 8 ... 26.76 97.83 1.99 9 ... 27.24 97.31 2.88 10 ... 26.27 99.05 2.76 11 ... 26.35 99.30 1.84 12 ... 25.91 97.63 2.08 And the same thing using ImageMagick on the same system. #CPUs real user sys 1 ... 24.69 62.60 2.87 2 ... 19.28 63.17 2.50 3 ... 17.82 60.34 2.65 4 ... 17.48 58.86 2.55 5 ... 16.60 58.11 2.34 6 ... 15.85 58.03 2.38 7 ... 15.61 58.09 2.44 8 ... 15.36 57.68 2.48 9 ... 15.48 57.76 2.38 10 ... 15.38 57.76 2.28 11 ... 15.36 57.97 2.27 12 ... 15.73 58.76 2.17 Watching the individual cpu load I observe that while the 1 cpu case did consume one cpu fully that the other three were also showing quite a bit of activity too. There was already quite a bit of parallelism happening before adding the second cpu, and third, and so forth. With three running all four cpus were looking pretty much 100% consumed. I was timing all of the shell's for loop, the xargs and the convert processes all together. I also tried running this same test on some slower hardware. I have gotten spoiled by the faster machine. The benchmark is still running on my slower machines. :-) I am not going to wait for it to finish. Bob
Attachment:
signature.asc
Description: Digital signature