Why a program with HIGH CPU Usage uses only 50% of my CPU.

MisterVSE

Distinguished
Feb 7, 2012
5
0
18,510
People seems not to understand what implies the fact that new computers works with Dual or Quadricore CPU's. One fact is that a program run only in ONE processor. So if your program uses 100% of processor time, it is using only 50% of total processor power if your CPU is a Dual Core. It goes to 25% if it is a Quadri Core Processor. You can see it clearly on the Task Manager's Performance Screen, if you have Dual processor, you have CPU Usage (total) and two graphics, one for each CPU. So if you have a program running CPU bound, one of processors goes UP high, while CPU Usage (total) goes 50% (or 25% if it is a QuadriCore)
 
Solution
Not sure what the question is (or if there's even a question vs. just a general rant).

However, from a user & PC perspective, if your app is heavily accessing your HDD/SSD & using up almost all of the available RAM, then it doesn't matter whether it's only using 1 core or all the cores in your CPU, because 100% utilization is still 100% utilization. Multiple cores let you do true multitasking on a PC, since each core can handle a completely separate app/stream/process...provided there's enough system RAM available to run them, & provided the L2/L3 & other caches can keep up with the demand.

This is also why, when an app can take advantage of all of the cores on your CPU, you see Intel CPUs' advantage over AMD CPUs shrink (in some...

spdragoo

Expert
Ambassador
Not sure what the question is (or if there's even a question vs. just a general rant).

However, from a user & PC perspective, if your app is heavily accessing your HDD/SSD & using up almost all of the available RAM, then it doesn't matter whether it's only using 1 core or all the cores in your CPU, because 100% utilization is still 100% utilization. Multiple cores let you do true multitasking on a PC, since each core can handle a completely separate app/stream/process...provided there's enough system RAM available to run them, & provided the L2/L3 & other caches can keep up with the demand.

This is also why, when an app can take advantage of all of the cores on your CPU, you see Intel CPUs' advantage over AMD CPUs shrink (in some cases quite considerably). Not because AMD chips have more cores -- AMD's highest offerings are octa-cores, while Intel has some chips that have even more -- but because at the various price points the AMD options have more cores available (for the price of an i3 pseudo-quad-core from Intel, you can get a hexa-core or even an octa-core from AMD).
 
Solution
This isn't an issue; it's been like that since the first dual-core CPU was released. Having several cores is not an issue because other tasks will use them and the single-threaded task won't be affected. It isn't up to the CPU to be multi-threaded; it's up to the application developers. If it's your application, then you could rewrite it to make it well threaded.