Comments (3)
Can you sketch what this might look like from the outside?
from rayon.
pub struct Parker;
pub struct Unparker;
impl Parker {
/// Either does one job, or does an additional round of polling via Sleep, eventually putting the thread to sleep, blocking the
/// thread until woken up by rayon or the provided Waker.
pub fn yield_or_sleep(&self) -> Yield {}
}
// The converted Wakes up the paired thread.
impl From<Unparker> for std::task::Waker {
...
}
/// Linked to WorkerThread::current
pub fn pair() -> (Parker, Unparker) {}
If this is too much to expose to a public interface, it's probably fine to also just have this internally inside rayon_core
to make a potential rayon_core::futures::block_on
as an equivalent to futures_lite::futue::block_on
.
from rayon.
it's probably fine [...] to make a potential
rayon_core::futures::block_on
Oh! I had a prototype of that -- here it is dusted off and rebased:
main...cuviper:rayon:block_on
from rayon.
Related Issues (20)
- Add SIMD SORT as an option HOT 1
- Handle/guard support for current thread pool HOT 1
- Optional parallelization
- Way to have assertion whether something is outside of a rayon task HOT 2
- how drop rayon whren it in a dylib and dylib should be droped? HOT 4
- Error reporting in scoped tasks
- cooperative yield in ThreadPool::install() causes unexpected behavior in nested pools HOT 4
- rayon-core tests fail to build. HOT 6
- Matrix multiplication with Rayon doesn't see perf improvements HOT 3
- general purpose WASM support? HOT 1
- `fold` creates identity for each sublist HOT 10
- Support for some sort of collect()/extend() into `LinkedList<Vec<T>>` HOT 1
- Rayon slower than single threaded performance when mixing iter and par_iter HOT 9
- Potential to modify ordering for split_count and tour_counter HOT 2
- rayon 1.9.0 doctest failure - stack overflow on aarch64-unknown-linux-gnu HOT 2
- par_bridge_recursion test sometimes hanging indefinitely HOT 3
- rayon works very slow after MacOS Sonoma 14.4 has beed updated HOT 6
- `&mut [T]` should implement `rayon::slice::ParallelSliceMut` HOT 4
- Suggestion for stack size when calling par_sort_unstable HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rayon.