S
Steve Sutton
I've been testing the new P4 2.9GHz desktop with Hyperthreading (HT). (It's
on an ASUS P4P800 motherboard running W2K, although XP seems to give the
same results.) I've surfed an endless list of gushing HT reviews on the
'Net. But my tests don't jive. Hope I'm doing something wrong.
It started when I noticed that a CPU-intensive compile under HT took about
1/3 the time as on a 450 MHz PIII -- I would have expected something closer
to 1/6. So I ran some tests. I build a small script that ran a "for" loop a
large number of times -- no I/O, just CPU-intensivity.
Under Hyperthreading, running this as the only active process (i.e., thread)
on the machine took 14 seconds start-to-finish. Running two such concurrent
jobs took 17 seconds. So far it sounds like HT is nicely on the job,
finishing closer to the 14 secs I'd expect with a dual-processor than the 28
secs I would predict from single, non-HT processor. Nice. Well...not quite.
When I turn off HT, the two concurrent jobs now finish in 18 secs. Wait. Can
this be? Check it again.Yep. Barely a 6% improvement under HT. What about
the single-thread case: 9 secs! (Close to the 6-fold improvement I would
expect over the older 450MHz PIII.) The comparable HT value of 14 was almost
50% slower!
It would appear that HT gives me a 6% improvement on concurrent threads at a
50% penalty for a solo thread! While some of the activities on my desktop
computer are concurrent, most are not. Overall, I think I'm better off
without HT.
Has anybody else looked into this?
on an ASUS P4P800 motherboard running W2K, although XP seems to give the
same results.) I've surfed an endless list of gushing HT reviews on the
'Net. But my tests don't jive. Hope I'm doing something wrong.
It started when I noticed that a CPU-intensive compile under HT took about
1/3 the time as on a 450 MHz PIII -- I would have expected something closer
to 1/6. So I ran some tests. I build a small script that ran a "for" loop a
large number of times -- no I/O, just CPU-intensivity.
Under Hyperthreading, running this as the only active process (i.e., thread)
on the machine took 14 seconds start-to-finish. Running two such concurrent
jobs took 17 seconds. So far it sounds like HT is nicely on the job,
finishing closer to the 14 secs I'd expect with a dual-processor than the 28
secs I would predict from single, non-HT processor. Nice. Well...not quite.
When I turn off HT, the two concurrent jobs now finish in 18 secs. Wait. Can
this be? Check it again.Yep. Barely a 6% improvement under HT. What about
the single-thread case: 9 secs! (Close to the 6-fold improvement I would
expect over the older 450MHz PIII.) The comparable HT value of 14 was almost
50% slower!
It would appear that HT gives me a 6% improvement on concurrent threads at a
50% penalty for a solo thread! While some of the activities on my desktop
computer are concurrent, most are not. Overall, I think I'm better off
without HT.
Has anybody else looked into this?