I got a P4 3.0C with HyperThreading enabled in the BIOS, and WinXP Pro.
There are some applications however, such as Grid.org, and DOSBox, which will only use 100% of "one CPU," effectively meaning it's only using 50% of the CPU. Why?
I got a P4 3.0C with HyperThreading enabled in the BIOS, and WinXP Pro.
There are some applications however, such as Grid.org, and DOSBox, which will only use 100% of "one CPU," effectively meaning it's only using 50% of the CPU. Why?
1) Hyper-Threading Technology enables multi-threaded software applications to execute threads in parallel. If a program is not design to run in multi-threads (most don't), HT does nothing for them. Thus, to take advantage of HT, you need to run 2 or more instances of same / different software.
2) Since processors with HT are really just one CPU, Windows does not show correct cpu usage. Thus, even though it may say 50+%, it could be the same as 90+% on a non HT system.
1) Hyper-Threading Technology enables multi-threaded software applications to execute threads in parallel. If a program is not design to run in multi-threads (most don't), HT does nothing for them. Thus, to take advantage of HT, you need to run 2 or more instances of same / different software.
Add to that - most programs are not constantly multi-threaded. Unless you're monitoring a webserver or similar that spawns a thread on request and would thusly have lots of threads open, many multithreaded applications spawn off threads that are not always active or are short-lived. The Windows CPU monitor is pretty crappy at effectively displaying that behavior, but if you put the application under a microscope (profiler) you would see the result.
MANY applications simply aren't multithreaded and by nature aren't problems that require multiple threads. Hyperthreading is a great thing for cheap servers - but is only of marginal benefit for the average user.
And it bears repeating that if what you're seeing is multiple heavy processes running and only using 100% of one cpu, it is likely that one of them is CPU bound and thus isn't actually allowing enough room in the pipeline for the virtual cpu to run. Hyperthreading is a hack, you don't really have two cpus.
It should speed up most video encoding programs a little. It doesn't usually give the performance to two cpu's, but it usually does help a little bit in threaded applications.