For Java programmers, looping over a collection is the time-honored way of processing data. Now, from Java 8 onwards, we will instead be writing stream programs – more concise, more expressive, and more maintainable. But how fast will they be? To understand the factors that control stream performance, we need to look at how streams begin and end as well as the work that they do along the way. And to make things more complicated still, we have to decide when to use the built-in parallelization support offered by streams. In this talk we’ll disentangle these problems and create guidelines for getting the best performance from Java 8 streams.
Maurice Naftalin has worked in the software industry for four decades as developer, designer, manager, teacher and author.
He has used every release of Java, and has written books on two of them, most recently Mastering Lambdas: Java Programming in a Multicore World, for Oracle Press. He is a frequent presenter at conferences worldwide, including JavaOne; he was a JavaOne Rockstar in 2013. He is a Java Champion.