Сначала я предполагал, что каждый класс коллекции получит дополнительный метод par
, который преобразует коллекцию в подходящую параллельную структуру данных (например, map
возвращает лучшую коллекцию для элемента type в Scala 2.8).
Теперь кажется, что некоторые классы коллекций поддерживают метод par
(например, Array), но другие имеют методы toParSeq
, toParIterable
( например, List). Это немного странно, так как Array не используется и не восстанавливается. исправлял это часто.
В чем причина? Разве не лучше было бы просто иметь par
, доступный для всех классов коллекций, делающих «правильные вещи»?
Если у меня есть данные, которые могут обрабатываться параллельно, какие типы мне следует использовать? Черты в scala.collection
или тип реализации напрямую?
Или я должен предпочесть массивы
сейчас, потому что их распараллеливать дешевле?