cuviper on rayon-core-v1.10.2
bors[bot] on master
Release rayon-core 1.10.2 Merge #1013 1013: Release rayo… (compare)
bors[bot] on staging.tmp
bors[bot] on staging
Release rayon-core 1.10.2 Merge #1013 1013: Release rayo… (compare)
bors[bot] on staging.tmp
Release rayon-core 1.10.2 [ci skip][skip ci][skip netlify… (compare)
bors[bot] on staging.tmp
[ci skip][skip ci][skip netlify] (compare)
bors[bot] on master
Use pointers instead of `&self`… Add a virtual wrapper for &Latch Merge #1011 1011: Use pointers… (compare)
bors[bot] on staging.tmp
bors[bot] on staging
Use pointers instead of `&self`… Add a virtual wrapper for &Latch Merge #1011 1011: Use pointers… (compare)
bors[bot] on staging.tmp
[ci skip][skip ci][skip netlify] (compare)
bors[bot] on staging.tmp
Use pointers instead of `&self`… Add a virtual wrapper for &Latch [ci skip][skip ci][skip netlify… (compare)
par_iter
nesting, or the full depth of work-stealing nesting -- but we don't really track that
could you pass your own
par_level
parameter throughinner_work
/some_work()
?
In this trivial example we can. But in polars we can have aribitrary nesting as expressions may call expressions. It is very hard to track in there are so many operation that may par_iter
and may be very deep.
I guess it depends whether you just want par_iter nesting, or the full depth of work-stealing nesting -- but we don't really track
I am only interested in the par_iter
nesting. Then we could apply a rule of thumb that the outer level has parallelization priority and can make the inner levels 1..n sequential.
threadpool.spawn
inside a parallel iterator will let the parallel iterator wait until the spawn completed. Which is not always what we want. Do you know any good workaround for that problem ? Maybe already others experienced it (:
ThreadPool
each time)
perf
, if that helps
for
loops are hard-coded to the regular Iterator
trait
Iterator::for_each
, then this can translate to ParallelIterator::for_each
out
vector to &mut [AtomicI8]
.
(0..data.len()).into_par_iter().for_each(|i| /* atomic store */)