Что лучше с точки зрения производительности на SMP (память в расчет не берём) из двух вариантов:
1) есть N тредов (может достигать 1000 в пике), из которых N/2 тредов большее время блокируются в ожидании задачи (каждый тред имеет свою очередь, так как логика довольна сложна и не хотелось бы изобретать каждый раз FSM при добавлении новых фич).
2) есть пул (maхsize=N) из М тредов (может достигать 1000 в пике), из которых N/2 тредов большее время ожидают задачи. Здесь придется изобретать FSM.
Есть ли разница между 2-мя вариантами в производительности? Как обстоит дело с переключением контекста в сравнении п.1 и п.2?