Стоит ли запускать `…par.map(` напрямую для больших списков?

Допустим, у меня есть довольно большой (несколько миллионов элементов или около того) список строк. рекомендуется запустить что-то вроде этого:

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и т. д.)

12
задан Vilius Normantas 7 April 2012 в 14:02
поделиться