В статье упоминаются оба этих комбинатора ( ссылка здесь ).
parList
оценивает все элементы параллельно, отключая их все сразу. Я хотел бы предположить, что это полезно, когда вы хотите использовать весь список сразу, например, в случае сгибания карты. Если вы хотите оценить группу чисел, то суммируйте их, используйте parList
для оценки, затем выполните суммирование.
parBuffer
оценивает первые n элементов, а когда вы потребляете сверх этого, он устанавливает следующие n и так далее. Так что parBuffer
имеет смысл, когда вы собираетесь использовать список по частям, начиная с начала - или когда список очень большой (или бесконечный), и вы не будете оценивать все это. Например, если вы хотите найти первые 10 ответов из некоторого списка дорогих для вычисления элементов, вы можете использовать take 10 . filter f
с parBuffer
для параллельной оценки последовательных фрагментов из списка, пока не найдете первые десять предметы, которые вы ищете.