The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Single Threaded Apps, can use only half CPU or one thread uses the entire core?

    Discussion in 'Windows OS and Software' started by tsk1979, Jan 18, 2011.

  1. tsk1979

    tsk1979 Notebook Guru

    Reputations:
    0
    Messages:
    74
    Likes Received:
    0
    Trophy Points:
    15
    I have a core i5 powered laptop. Its a dual core with 4 threads.
    Now when I run some old programs, I see they max out one CPU thread to 100%, with other 3 at low values.
    This means, for such apps, having 4 threads is actually a disadvantage?
    Or it does not matter. The second thread of the first CPU being idle means that entire processing power of that core is being used by that thread?
    What are your thoughts.

    I think its the latter. The single thread at 100% CPU usage is using the processing power of the entire core.
    So what should be the CPU usage shown by Task manager show in such a case
    50% or 25%...?
     
  2. debguy

    debguy rip dmr

    Reputations:
    607
    Messages:
    893
    Likes Received:
    4
    Trophy Points:
    31
    Ok, let's try one of those great car analogies:
    Your i5 is like two two-seated cars. Each of your cores is one car. Each core has two slots and can therefore run two threads, just like each of your cars has two seats installed.

    If you want to go from A to B alone it doesn't matter how many cars or seats you have. You just take one of them and get going, but you won't reach your destination any sooner because you have two cars. You can't drive two cars at the same time. The same goes for a single thread. It can't use more than one slot.
    If you want to move two people you can chose either to put both in one car (which will save fuel but will be slightly slower due to the increased weight) or to use both cars simultaneously (which will double the fuel consumption but keep the full speed). The same does your OS. It puts both threads on the two slots of one core or each thread on its own core, depending on what is more reasonable.
    If you want to move 3 or 4 people you have no other choice than to use both cars. If you have even more people some have to wait for a 2nd trip.

    btw: Yes I know this analogy is incomplete, but that's what they always are.
     
  3. ViciousXUSMC

    ViciousXUSMC Master Viking NBR Reviewer

    Reputations:
    11,461
    Messages:
    16,824
    Likes Received:
    76
    Trophy Points:
    466
    It dynamically adjust cpu load, if the task was needy enough to max out a core it would max out the single core on the cpu even if you have hyperthreading or if its a single threaded task.

    The limitation is that it can not load more than one physical core if its a single threaded application.

    Its best to just look as physical core load and not worry about the virtual ones.