Что лучше: запустить виртуальную машину на двухъядерном гиперпоточном компьютере как четырехъядерную или двухъядерную.
Гиперпоточные «виртуальные» ядра не так быстры, как настоящие. Это влияет на виртуальную машину?
Вы не упоминаете гипервизор, но с чем бы вы ни работали, будьте осторожны, чтобы не перераспределять виртуальные ЦП без необходимости - причина в том, что гипервизор не позволяет виртуальной машине выполнять ЛЮБОЙ код, пока ВСЕ назначенные виртуальные ЦП не будут готовы - это означает, что ваша виртуальная машина может оставаться без дела в течение огромного количества времени - просто назначьте то, что вам нужно, это легко добавить позже.
О, и что касается вашего вопроса, если у вас есть выбор, всегда выделяйте ядра и потоки в правильной пропорции к вашему фактическому оборудованию хоста - то есть в этом случае дайте ему два ядра с четырьмя потоками, а не четыре ядра или четыре потока - современные гостевые инструменты будут знать, как лучше всего их использовать, если они описаны более точно.
Как и при запуске приложения на физическом компьютере с гиперпоточностью, ответ зависит от приложения, а иногда даже больше от того, как оно используется. Например, с MS SQL Server некоторые базы данных сильно выигрывают от гиперпоточности, а некоторые работают хуже.
Лучше всего попробовать оба способа, если это возможно, установить несколько тестов и посмотреть, каковы реальные результаты.