Тут вы правы, обычный итератор так разбить не получится, как минимум потому что никто не запрещает ему вернуть ссылку на один и тот же элемент дважды подряд, что сразу нарушит правило "только одна &mut ссылка на каждый объект".
Как минимум 90%, причём в основном видео с ютуба и, наверно, торренты. А ведь ещё есть куча всякого «бесполезного» трафика от мультиплеера в играх. Проще сказать какой процент нешифрованного текстового трафика — 0.1% максимум.
Тут вы правы, обычный итератор так разбить не получится, как минимум потому что никто не запрещает ему вернуть ссылку на один и тот же элемент дважды подряд, что сразу нарушит правило "только одна &mut ссылка на каждый объект".
С помощью rayon можно сделать так: playground
Это, конечно, не делает явное партиционирование, но вполне честно распарралеливает обработку.
В том же расте у итераторов есть дополнительные методы, такой универсальный диапазон можно организовать с помощью
.skip(a).take(b)
.