Возможно ли, используя Scala параллельные коллекции, чтобы распараллелить Iterator
без предварительной оценки?
Здесь я говорю о параллелизации функциональных преобразований на Iterator
, а именно map
и flatMap
.
Я думаю, что это требует предварительной оценки некоторых элементов Iterator
, а затем вычисления большего количества, как только некоторые из них будут потребляться через next
.
Все, что я мог найти, потребует, чтобы итератор был преобразован в Iterable
или Stream
в лучшем случае. Stream
затем получает полную оценку, когда я вызываю .par
на нем.
Я также приветствую предложения по реализации, если это не доступно. Реализации должны поддерживать параллельные map
и flatMap
.