Releases: pivovarit/parallel-collectors
2.3.1
What’s Changed
- Configure maven-gpg (#458) @pivovarit
- Describe params (#457) @pivovarit
- Describe params (#456) @pivovarit
- Remove unsupported JavaDocs (#455) @pivovarit
- Make ParallelCollectors.Batching public (#454) @pivovarit
- Refactor ArchitectureTest (#453) @pivovarit
Authors
2.3.0
What’s Changed
- Fix ordered batching stream not maintaining the order (#449) @pivovarit
- Spliterator-based BatchingStream (#444) @pivovarit
- Optimize batching (#443) @pivovarit
- Optimize BatchingStream for single batches (#442) @pivovarit
- Hide internal method (#440) @pivovarit
- Improve performance of parallelism == 1 (#436) @pivovarit
- Remove unnecessary batching infrastructure (#435) @pivovarit
- Pre-size batching accumulator (#434) @pivovarit
- Do not expose values wrapped as CompletableFuture as finisher parameters (#433) @pivovarit
- Pre-size batching accumulator (#432) @pivovarit
- Reactive exception handling and cancellation (#430) @pivovarit
- Add ParallelCollectors#toFuture (#429) @pivovarit
- Remove redundant InFlight class (#425) @pivovarit
Authors
@dependabot-preview, @dependabot-preview[bot] and @pivovarit
2.2.0
What’s Changed
- Collect to list directly without allocating intermediate and short-lived objects (#422) @pivovarit
- Optimize for parallelism of one (#418) @pivovarit
- Add comparisons with streaming collectors (#413) @pivovarit
- Add basic benchmarks (#409) @pivovarit
- Don't allocate objects when processing batched objects (#408) @pivovarit
- Create a Spliterator of known size when batching (#402) @pivovarit
Authors
2.1.0
Introduced a new subset of drop-in replacement collectors ParallelCollectors.Batching
.
These implement a different task-splitting strategy where operations are performed in batches and not separately (one object in a thread pool's worker queue represents a batch of operations to be performed by a single thread):
ParallelCollectors.Batching
:
parallel(...)
parallelToStream(...)
parallelToOrderedStream(...)
2.0.0
Redesigned and simplified the public-facing API to enable reuse of java.util.stream.Collector
instances for providing custom reduction strategies which enabled reduction of the public API from 13 methods to just 4:
-
CompletableFuture<List<T>> parallel(Function, Collector, Executor, parallelism)
-
CompletableFuture<Stream<T>> parallel(Function, Executor, parallelism)
-
Stream<T> parallelToStream(Function, Executor, parallelism)
-
Stream<T> parallelToOrderedStream(Function, Executor, parallelism)
1.2.1
- adjusted visibility modifiers of some API methods
1.2.0
- added new
parallel
methods that are interoperable withjava.util.stream.Collector
s - simplified internal implementations
- deprecated
parallelTo(List/Set/Map/Collection)
methods in favor of the above one