#[test] #[cfg_attr(any(target_os = "emscripten", target_family = "wasm"), ignore)] fn par_bridge_recursion() { let pool = rayon::ThreadPoolBuilder::new()
.num_threads(10)
.build()
.unwrap();
let seq: Vec<_> = (0..N).map(|i| (i, i.to_string())).collect();
pool.broadcast(|_| { letmut par: Vec<_> = (0..N)
.into_par_iter()
.flat_map(|i| {
once_with(move || { // Using rayon within the serial iterator creates an opportunity for // work-stealing to make par_bridge's mutex accidentally recursive.
rayon::join(move || i, move || i.to_string())
})
.par_bridge()
})
.collect();
par.par_sort_unstable();
assert_eq!(seq, par);
});
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-19)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.