Что такое предпочтительный способ использования параллельных коллекций в Scala?

Сначала я предполагал, что каждый класс коллекции получит дополнительный метод par , который преобразует коллекцию в подходящую параллельную структуру данных (например, map возвращает лучшую коллекцию для элемента type в Scala 2.8).

Теперь кажется, что некоторые классы коллекций поддерживают метод par (например, Array), но другие имеют методы toParSeq , toParIterable ( например, List). Это немного странно, так как Array не используется и не восстанавливается. исправлял это часто.

В чем причина? Разве не лучше было бы просто иметь par , доступный для всех классов коллекций, делающих «правильные вещи»?

Если у меня есть данные, которые могут обрабатываться параллельно, какие типы мне следует использовать? Черты в scala.collection или тип реализации напрямую?

Или я должен предпочесть массивы сейчас, потому что их распараллеливать дешевле?

5
задан Eugene Yokota 22 December 2010 в 19:46
поделиться