Conditionally Switch Between Rayon Parallel and Sequential Iteration Based on Collection Size?
⚓ Rust 📅 2025-06-01 👤 surdeus 👁️ 10I'm using Rayon to process a vector like this:
myvec.par_iter().filter_map(/* ... */).collect();
This works well. However, I'd like to automatically fall back to sequential iteration (iter()) when myvec has fewer than 5 items. Ideally, I want something like:
myvec.conditional_iter(5).filter_map(/* ... */).collect();
Does Rayon provide built-in functionality for this? I implemented custom types/traits to handle filter_map/collect, but I’ll need to re-implement most Iterator methods. I’m wondering if I missed an existing solution.
3 posts - 2 participants
🏷️ rust_feed