Você não lista um sistema operacional, mas presumindo que o sistema operacional faça o agendamento corretamente, você deve obter o mesmo desempenho com ou sem hyperthreading em seu cenário.
Você tem:
- 12 núcleos de hardware
- 24 Threads de hardware
- Restrição a 10 encadeamentos de software
Se você tiver o HT desativado, ele agendará 1 thread por núcleo e deixará 2 núcleos ociosos.
Se você tiver o HT habilitado, o SO ainda deverá agendar o thread de software do thread 1 do DB por núcleo, deixando threads de hardware ociosos entre os threads do DB; O banco de dados será agendado no Thread 0, Thread 2, Thread 4, Thread 6, etc. e deixará ociosos os threads de hardware de numeração ímpar (ou para uso por outros aplicativos no sistema).
O hyperthreading é um pouco estranho ao estimar o desempenho, porque 12 threads não estão usando metade da CPU - ele está usando a CPU todo . Os 12 segmentos restantes fornecem apenas cerca de 10% a 15% de energia adicional. O benefício com eles é que a CPU pode fazer outras coisas enquanto os 12 primeiros esperam que os dados sejam retornados do disco ou da RAM.