stream() / parallelStream() methods
Brian Goetz
brian.goetz at oracle.com
Fri Feb 8 15:28:22 PST 2013
Depends how seriously you are counting. Doug counts individual object
creations and virtual invocations on the way to a parallel operation,
because until you start forking, you're on the wrong side of Amdahl's
law -- this is all "serial fraction" that happens before you can fork
any work, which pushes your breakeven threshold further out. So getting
the setup path for parallel ops fast is valuable.
On 2/8/2013 6:25 PM, Kevin Bourrillion wrote:
> On Fri, Feb 8, 2013 at 3:24 PM, Brian Goetz <brian.goetz at oracle.com
> <mailto:brian.goetz at oracle.com>> wrote:
>
> (Tangentially, I would really love to drop parallelStream() and let
> people call stream().parallel(). But I haven't managed to scour the
> archives to find if that argument's already suitably played out.)
>
>
> Direct version is more performant, in that it requires less wrapping
> (to turn a stream into a parallel stream, you have to first create
> the sequential stream, then transfer ownership of its state into a
> new Stream.)
>
>
> But really a lot of /work/ has already happened by then?
>
> --
> Kevin Bourrillion | Java Librarian | Google, Inc. |kevinb at google.com
> <mailto:kevinb at google.com>
More information about the lambda-libs-spec-experts
mailing list