Comments (1)
This might need to be reopened due to the revert in 1.10.
The main issue stems from tick-only use cases being unable to find tasks. For which there are some potential options for resolving that problem:
- Let tick steal tasks if it doesn't find any in the global queue. This might drive higher contention when ticking in a loop from multiple threads.
- Avoid pushing onto local queues while others are not listening to them.
- Split tick-able and run-able executors to isolate one use case from another. The former would strictly rely on the global queue, while the latter can be assured that tasks can be stolen if enqueued locally. This will likely require splitting the type or runtime checks, both of which would be breaking changes.
Given that try_tick might be removable in the breaking change, the last option there may be the best for performance across all other options.
from async-executor.
Related Issues (20)
- Wake up threads more aggressively if there is known work to do HOT 3
- 1.9.0 may need to be yanked HOT 12
- A leaked Executor does not need to track active tasks HOT 2
- StaticLocalExecutor usage example?
- docs.rs doc build broken
- After non-breaking v1.5.2 release some types suddenly became non-send HOT 4
- Stack overflow when updating from 1.5.1 to 1.5.3 HOT 9
- Panic with version 1.5.3 HOT 1
- open-rmf/rmf_site freezes when updating from 1.5.1 to 1.5.3 HOT 4
- Can you give me an example on how to spawn tasks in a loop but limit total number of tasks? HOT 1
- BorrowError on a server with a huge amount of tasks HOT 2
- "Next task" optimization HOT 2
- v1.7 no longer compiles for `wasm32` HOT 6
- Allow creating tasks with metadata
- try_tick considered harmful HOT 1
- Panic on multithreaded browser Wasm HOT 6
- Efficient way of batch spawning a large number of tasks HOT 3
- MSRV might be set too low HOT 1
- Tick counter can overflow on debug mode
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 async-executor.