Comments (2)
We currently do pooling in two different places internally in Reactor and we use two different methods. Maybe we should create a generic pool abstraction that could be used in both.
In BlockingQueueDispatcher
, the Task
s are pooled using a fixed size BlockingQueue
and a yielding loop to acquire new ones when the pool is exhausted. The ThreadPoolExecutorDispatcher
actually uses a RingBuffer
to pool the tasks. I think either is a decent solution though I would probably lean toward the RingBuffer approach because of the ability to reuse something like that in many places. The downside to the RingBuffer is that it burns a thread for every one you create because it needs a loop to do the slot accounting.
But assuming we won't be creating a large number of pools, we could use a RingBuffer to pool objects and simply use that in the NIO code and replace the code that does Task pooling in the Dispatchers with this new pool object.
from reactor.
This issue is now obsolete.
from reactor.
Related Issues (20)
- Allow signed releases to Artifactory from GitHub Actions HOT 4
- Remove explicit occurrences of jcenter from build HOT 2
- Release: move tagging step at the end
- Use Spotless plugin to help enforce basic formatting / license HOT 3
- Use Spotless plugin to enforce and update copyright headers HOT 1
- [Reactor Gen4] Discussing switching to a JDK 17 baseline HOT 41
- [Reactor Gen4] Ensuring Reactor 3 can run along Reactor 4 HOT 13
- [Reactor Gen4] The Rationale for a Generation 4 of Reactor HOT 3
- Use Gradle 7.3 HOT 1
- Reproducible Builds
- Remove the Reactive Streams Commons from README.md
- Is there any connection between org.projectreactor:reactor-core and io.projectreactor:reactor-core ? HOT 2
- Incompatible reactor-kotlin-extensions used in 2020.0.x BOM HOT 1
- Add new module reactor-core-micrometer to 2022.0.0-M3 BOM
- No dependency management for `reactor-tools` with classifier `original` HOT 1
- Builds with japicmp should set onlyModified = true / onBinaryIncompatibleModified = false
- Update GHA workflows to avoid warnings around output APIs HOT 1
- Did we have some tools like Java-profilers for perfomance or cost analyzing?
- Consider enabling discussions tab on GitHub
- reactor-tools original classifier should also be part of the BOM HOT 1
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 reactor.