В этом блоге о параллельных коллекций в Scala http://beust.com/weblog/2011/08/15/scalas-parallel-collections/Что подразумевается под параллелизмом в этом случае?
Это упоминается на комментарий Даниэль Spiewak:
Другие люди уже комментировал о примере mkString, поэтому я собирается уходить это одно. Он действительно отражает гораздо больший смысл в семантике коллекции в целом. В основном это: в отсутствии побочных эффектов (в пользователь), параллельные коллекции имеют точный та же семантика, что и последовательные коллекции. Другими словами: ForAll {(хз: Vector [A], F: A => B) => (xs.par отображение е) == (хз отображение F) }
Означает ли это, что, если нет побочных эффектов, параллелизм не достигается? Если это правда, эта точка может быть расширена, чтобы объяснить, почему это так?
@ Kiygo Итак, когда .map применяется к коллекции параллельно, упорядочение элементов в новой сопоставленной коллекции зависит от того, когда каждая функция карты заканчивает обработку на каждом элементе? –
Я думаю, что порядок элементов всегда остается неизменным. Просто порядок, в котором функция f применяется к элементам, может различаться, так как она параллельна, и я предполагаю, что некоторые гонки участвуют. – Kigyo