@dragas There is no reason to use coroutines unless you have any suspending (async) function. If it all just CPU-bound, the coroutines offer a little help/improvement. For CPU-bound task, like parallel collection processing, Java8 streams work best. Coroutines are designed for tasks that wait for something most of the time.