Quote from ArchAngel:
Indeed, there are many programs that would themselves individually benefit little (or not at all) from multi-threading, but two or more such programs running simultaneously would realize significant performance improvement (without tweaking).
----------------------------
You made my point here. With two "tweaked" programs, programs made to utilize multi-threading, you'd probably (no guarantee) see a difference. This is what I mean with the tweaking statement. Not the user turning things on or off.
-----------------------------
2. For clarification, "pegging" does not mean "spiking". In the sentence context, if the CPU utilization meter is pegging (i.e., consistently stuck at or above) 85% or more when running a particular user's normal job mix (whatever that may be), then there can be more than a marginal performance benefit produced by adding an additional processor. It has to do with overhead of process context switching, lost CPU cycles, main memory to processor cache transfers, etc.
------------------------------
If your operations are "pegging," in other words using enough capacity to show the indicator stable at 85%, then you will still have plenty of headroom to operate and cover the additional usages that might then "spike" through. Remember it took the multiple programs 100% output to get you to peg at 85%.
Now there can be a case made that there will be additional spikes that would drive the processors into the 100% ranges but again for no more than a few seconds consistently at best.
Otherwise you are using more than 85% of the computer resources. Had there been a true nanosecond or two lost that might make a difference, then you as a user would not be truly able to benefit or be harmed. This takes me back to the economics of adding a processor point. It ain't there.
---------------------
3. The example of Bryce, etc. - is interesting, but not specifically meaningful. Don't know if Bryce's renderer is multi-threaded like more sophisticated CGI software. If it is multi-threaded, then additional processors would likely reduce your rendering time (assuming there aren't other resource bottlenecks inherent in it's design) - commercial rendering tools do definitely benefit from multi-processors.
--------------------------
Interesting thought here. A challenge. An honest to goodness test. I will now clock my 500MHz rendering this drawing alone. Ok, that was simple 13 minutes, 52 seconds. It took about fifteen minutes doing the other stuff at the same time a little while ago. I have contacted another buddy who has a dual processor (1.2GHz) setup. He is now rendering this drawing in Bryce for me. I expect a massive change here maybe half the time in some minds. But I know better. The decrease will not be lateral.
Ok, I give. The drawing rendered in 12 minutes 35 seconds. Using two processors of more than double the hertz saved 1 minute and 17 seconds in rendering time. Granted he's not a high end tech and his system is not maxed out in all the areas. But it is set up to benefit as an average user would. He is also running WinXP Pro.
--------------------------
The other items you mentioned are interesting uses but are insignificant since they're I/O bound processes - wherein the processor is waiting for the I/O channel (i.e., disk, network, etc.) most of the time and so there are a lot of free cycles during such processing.
Windows will simply steal the cycles needed for those things from other processes (e.g., your Bryce process). And depending on how the Bryce software is designed, it may itself be experiencing resource blocking from the disk (either directly as a function of how the program works or indirectly as a result of virtual memory paging) and thus not making maximum use of the CPU.
----------------------
Yes, as I stated, things the average user would be doing. All non-processor intensive operations. So, subsequently there would be
NO NOTICEABLE DIFFERENCES to the user. That's been the total basis of my original comments. None of the things that were being discussed would make the case for dual processors.
----------------------
The example is interesting and you're clearly happy with what you have, but it's not an indication of whether your job mix (or any other mix) could run faster on a multi-processor.
What it does say though is that YOU are satisfied with your configuration and if it's fast enough to keep the owner satisfied, that's all that really matters when it comes to a computer config.
Others might not be satisfied of course and would therefore look for ways of speeding things up (such as wanting to cut down that 15 minute render time).
Capacity evaluation and planning of course requires much more detailed investigation and information about the job mix, hardware particulars, resource utilization dynamics, etc.
-----------------------
What needs to really be understood is that the answer is not always "get two processors." There are so many other factors. Maybe go from a P3 to a P4. Maybe another motherboard and or IO setup. There are many things to look at
BEFORE you look to multiple processors.
And after doing this type of evaluation for over ten years now, I can easily say that the answer for over 80% of users is never to add a second processor. Of the 20% left, 10% might truly benefit. It's that last 10% that usually reads threads like this as their last determining factor to go double or not.