Все относительно.
С одной стороны, запуск нового воркера довольно затратная операция. Браузер поднимает реальный поток ОС, поднимает в нем новый контекст движка JS, настраивает примитивы синхронизации памяти (у JS то память разделена и общение через postMessage, а у браузера на C++ память вполне себе общая, да еще и с конкурентным доступом).
С другой, что такое ~100мс на старт воркера по сравнению с несколькими минутами решаемой им задачей?
По итогу:
Запускать по воркеру на каждую задачу будет работать медленнее, но реализовать проще.
Иметь пул заранее запущенных воркеров - гораздо быстрее, но придется реализовать этот самый пул, а так же очередь задач и распределение их по пулу.
Что больше подходит в Вашей ситуации можно сказать лишь точно зная Ваши тех.требования