Oracle VM Server is an efficient virtualization platform that works with a wide variety of server types, configurations, and workloads. One question that often comes up is whether hyperthreading (formally, Intel Hyper-threading technology, or HTT) is good for performance. When hyperthreading is enabled, every CPU core has two CPU threads instead of one. A server with 8 cores would appear to have 16 CPU threads.
If one thread is idle or stalls on a cache miss, the other thread can continue to execute. This is a potential throughput advantage, especially for multithreaded workloads that frequently have cache misses. HTT permits the CPU to continue useful processing by running the other thread. On the other hand, both threads compete for the core’s resources, and each thread may run slower than if it owned an entire core. Each thread potentially displaces the other thread’s level 1 cache contents, causing both threads to run slower. This is especially visible for compute intensive workloads that might normally fit in cache without HTT.
The result is that it's reasonable to enable hyperthreading by default, but it can be valuable to test performance to see whether whether it adds performance for a specific application. For further discussion of this topic, please see the whitepaper Optimizing Oracle VM Server for x86 Performance.