rayon-rs/rayon

idea: allow splitting that's weighted toward one side

Open

#477 opened on Nov 17, 2017

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Rust (450 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (9,410 stars)
PR merge metrics
 (Avg merge 9m) (2 merged PRs in 30d)

Description

Usually we just split iterators at len/2. For something like find_first, it may be better to split closer to the front of the iterator, like len/3. Likewise, find_last might prefer something like 2 * len / 3.

For find_last, it might also be a good idea to flip the join arguments, so the latter split is processed first.

I'm not sure if these ideas could be exposed generically, or if the find functions should just implement custom bridge functions to this effect. Part of the challenge is that these are also at the end of the iterator chain, so their immediate input might not a Producer at all.

Contributor guide