Я использую методику все потоки на каждый поток засеивания, процессор сам перераспределяет нагрузки на ядра, стало несколько лучше, не сказать что прям супер лучше, но лучше)
я пока таким же методом польнуюсь - все 16 выделяю и дальше проц сам разруливает - пробовал уменьшать с шагом 2 16 до 2 - получал только снижение производительности