Comments (2)
A better solution is to fix the batching issue with EagerFutureStreams.
This is a list of operators that are batched for EFS's, only flatMap actually needs to be batched.
Batching occurs because for EFS we collect the Stream to a list of CompletableFutures at each stage, to do this with data from a Queue, we need to get all the data out of the queue first.
An alternative, is to take advantage of the finite size of the EFS. For an operator that currently requires batching - Create a Queue and have completed operations syncrhonously add to it, but also have the same future continue asynchronously read from that queue and apply the operation. E.g. to batch results, the batching operator first triggers synchronous population of the queue by the current list of CompletableFutures. Then for each of those Futures it triggers an asynchronous task that tries to read multiple entries from that Queue. This will result in less results than the available futures, futures with no results should be filtered out.
from cyclops.
Fixed on 0.99 branch
from cyclops.
Related Issues (20)
- Seq plusAll should provide efficient prepending HOT 1
- Jackson Serialization of nested IterableX types results in a null pointer exception. HOT 1
- [FutureStream] : Some operators are blocking until previous Futures have completed HOT 1
- Add onEmptySwitch for Values to OrElseValue HOT 2
- Remove deprecated orElseUse methods
- Maybe filter is not executed lazily HOT 1
- Ior mkString should build values in order matching Generic definitions HOT 1
- Project website currently down HOT 1
- RemoveFirst is stateful HOT 1
- ReactiveSeq.sorted relies on the Stream implementation and is not replayable HOT 1
- Canonical way to split a list of either/try HOT 5
- Infinite loop with recoverFlatMap HOT 1
- Printing a Vector containing a null, results in a NullPointerException HOT 1
- Migrate Validated to NonEmptyChain
- Is there a guide to using Validated? HOT 1
- Question: Does Topic holds all stream elements?
- futureStream from Queue<T> does not fire on timeout. HOT 2
- Question: purpose of the included test cases
- Jackson support for Option seems to not work? HOT 1
- Project abandoned 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 cyclops.