

There are a number of resources that are shared between the threads like cache etc.. If the threads are competing for said resources then you'll end up with a performance loss. Hence with HT off you have less threads and less competition, equals a performance gain. This is why some unoptimised software can run worse with HT on, this is how i understand it anyhow.