Допустим, у меня есть довольно большой (несколько миллионов элементов или около того) список строк. рекомендуется запустить что-то вроде этого:
val updatedList = myList.par.map(someAction).toList
Или было бы лучше сгруппировать список перед запуском ...par.map(
, например:
val numberOfCores = Runtime.getRuntime.availableProcessors
val updatedList =
myList.grouped(numberOfCores).toList.par.map(_.map(someAction)).toList.flatten
ОБНОВЛЕНИЕ:
Учитывая, что someAction
довольно дорого (по сравнению с grouped
, toList
и т. д.)