hg: lambda/lambda/jdk: First cut at replacing groupBy/reduceBy with Tabulator framework, supporting multi-level summarization and finer-grained control over creating intermediate containers. Explicitly support mutable vs functional reductions. Explicitly support concurrent vs merge-oriented reductions.

brian.goetz at oracle.com brian.goetz at oracle.com
Fri Dec 14 12:57:44 PST 2012


Changeset: 5d25f6772fec
Author:    briangoetz
Date:      2012-12-14 15:54 -0500
URL:       http://hg.openjdk.java.net/lambda/lambda/jdk/rev/5d25f6772fec

First cut at replacing groupBy/reduceBy with Tabulator framework, supporting multi-level summarization and finer-grained control over creating intermediate containers. Explicitly support mutable vs functional reductions.  Explicitly support concurrent vs merge-oriented reductions.

! src/share/classes/java/util/Collection.java
! src/share/classes/java/util/Comparators.java
! src/share/classes/java/util/stream/ReferencePipeline.java
! src/share/classes/java/util/stream/Stream.java
+ src/share/classes/java/util/stream/op/ConcurrentTabulateOp.java
! src/share/classes/java/util/stream/op/FoldOp.java
- src/share/classes/java/util/stream/op/GroupByOp.java
! src/share/classes/java/util/stream/op/OpUtils.java
- src/share/classes/java/util/stream/op/ReduceByOp.java
! src/share/classes/java/util/stream/op/SliceOp.java
+ src/share/classes/java/util/stream/reduce/ConcurrentTabulator.java
+ src/share/classes/java/util/stream/reduce/ConcurrentTabulators.java
+ src/share/classes/java/util/stream/reduce/MutableReducer.java
+ src/share/classes/java/util/stream/reduce/Reducers.java
+ src/share/classes/java/util/stream/reduce/Tabulator.java
+ src/share/classes/java/util/stream/reduce/Tabulators.java
+ test-ng/tests/lambda/TestInnerCtorRef.java
! test-ng/tests/org/openjdk/tests/java/util/stream/op/GroupByOpTest.java
! test-ng/tests/org/openjdk/tests/java/util/stream/op/ReduceByOpTest.java



More information about the lambda-dev mailing list