Hypertrheading is marginally better for multithreadded applications but in single threaded performance it is worse. This is because of the way hyperthreading works. Each thread gets a turn at the execution engine so even when one logical core is effectivly idle, there is always a second thread running for system processes that takes away performance.