Looks good to me.

In the test, 

> Integer one = Stream.iterate(1, i -> i + 
> 1).unordered().parallel().distinct().findAny().get();
> assertEquals(one.intValue(), 1);

The implementation is probably make sure this will return 1, but is that what 
we spec to do? I sort of think it can have various values depends on how many 
working threads and their scheduling.

Cheers,
Henry
 
On Oct 30, 2013, at 2:30 AM, Paul Sandoz <paul.san...@oracle.com> wrote:

> Hi
> 
> Please review:
> 
>  http://cr.openjdk.java.net/~psandoz/tl/JDK-8027316-distinct-unordered/webrev/
> 
> The fix ensures that the distinct operation, for a parallel stream, is not a 
> full barrier if the upstream is unordered (and not already distinct, 
> otherwise it is a no-op).
> 
> Thanks,
> Paul.

Reply via email to