Avoid spinning up unnecessary goroutines for single data jobs

This commit is contained in:
Svilen Markov 2025-03-12 10:35:49 +00:00
parent f9b3deaff2
commit 14db59318c

View file

@ -179,6 +179,11 @@ func workerPoolDo[I any, O any](job *workerPoolJob[I, O]) ([]O, []error, error)
return results, errs, nil
}
if len(job.data) == 1 {
output, err := job.task(job.data[0])
return append(results, output), append(errs, err), nil
}
tasksQueue := make(chan *workerPoolTask[I, O])
resultsQueue := make(chan *workerPoolTask[I, O])