There are many good replies, but there is one thing that I get tired of hearing about and that is the comment that Hyperthreading = multitasking.
I think it best we clear up what ?multitasking? is, dictionary.com does this quite well.
http://dictionary.reference.com/search?q=multitasking
After reading this it should be clear that multitasking is not limited to the P4 or HyperThreading (just as PetNorth stated). It would be more accurate to describe HyperThreading as parallel processing with two logical CPUs.
<a target=new class=ftalternatingbarlinklarge href="http://dictionary.reference.com/search?q=parallel%20processing
">http://dictionary.reference.com/search?q=parallel processing
</a>
With this newfound understanding (for some) of how these differ, and the realization that the P4 architecture with its long pipeline has a detrimental effect on performance when changing threads, the statement accord99 made ?So with Hyperthreading, you're trading decreases in single-thread performance for overall increase in work per unit time.? is somewhat correct but only in respect to the P4 Architecture, and only if both threads can run at or near optimal performance with only half the P4s capabilities.
The Athlon 64 architecture with its integrated memory controller and shorter pipeline can shift tasks almost seamlessly in comparison to the P4, preventing its processing power to be cut in half for multiple threads.
It is not so much that one multitasks better than the other, but more the question of how it multitasks. The characteristics/demands of the apps being run may very well be the determining factor between one solution or the other being better.
I think it best we clear up what ?multitasking? is, dictionary.com does this quite well.
http://dictionary.reference.com/search?q=multitasking
After reading this it should be clear that multitasking is not limited to the P4 or HyperThreading (just as PetNorth stated). It would be more accurate to describe HyperThreading as parallel processing with two logical CPUs.
<a target=new class=ftalternatingbarlinklarge href="http://dictionary.reference.com/search?q=parallel%20processing
">http://dictionary.reference.com/search?q=parallel processing
</a>
With this newfound understanding (for some) of how these differ, and the realization that the P4 architecture with its long pipeline has a detrimental effect on performance when changing threads, the statement accord99 made ?So with Hyperthreading, you're trading decreases in single-thread performance for overall increase in work per unit time.? is somewhat correct but only in respect to the P4 Architecture, and only if both threads can run at or near optimal performance with only half the P4s capabilities.
The Athlon 64 architecture with its integrated memory controller and shorter pipeline can shift tasks almost seamlessly in comparison to the P4, preventing its processing power to be cut in half for multiple threads.
It is not so much that one multitasks better than the other, but more the question of how it multitasks. The characteristics/demands of the apps being run may very well be the determining factor between one solution or the other being better.
