Digamos que tengo una lista de cadenas bastante grande (varios millones de elementos, aproximadamente). ¿Es una buena idea ejecutar algo como esto:¿Es una buena idea ejecutar `... par.map (` en listas grandes directamente?
val updatedList = myList.par.map(someAction).toList
O sería una mejor idea de agrupar la lista antes de ejecutar ...par.map(
, así:
val numberOfCores = Runtime.getRuntime.availableProcessors
val updatedList =
myList.grouped(numberOfCores).toList.par.map(_.map(someAction)).toList.flatten
ACTUALIZACIÓN: Dado que someAction
es bastante caro (comparado con grouped
, toList
, etc.)