Я заинтересован в том, чтобы на моем настольном компьютере / ноутбуке выполнялась довольно тяжелая обработка (не такая уж и плохая, для этого требуется кластер, но нужна хорошая домашняя машина). Мой вопрос заключается в том, сколько потоков нужно создать, чтобы выполнить работу максимально быстро (предположим, что приложение распределяет рабочую нагрузку с минимальными накладными расходами).
Я бы обычно создавал один поток на процессор, но мне было интересно, означает ли возможность гиперпоточности в Core i5/i7, что я должен фактически создавать два потока на процессор (то есть один поток на виртуальный процессор). Кто-нибудь знает?
* Очевидно, разумным ответом было бы попробовать и посмотреть. Поскольку это занимает около 12 часов, я предпочел бы сделать это правильно с первого раза, но я с радостью опубликую результаты, если у меня будет возможность запустить его в обоих направлениях.