Session: Java Lambda expressions and Stream API: a performance analysis
Java Lambda expressions and Streams API have been widely adopted and popular since their launch. They promote benefits like: conciseness, readability, code reuse and less error prone. Even though they are embraced by the community, many developers are not familiar with under the hood aspects of these syntactic sugar, neither performance considerations involved.
GOALS
This presentation has three main goals:
Briefly explain under the hood compile and implementation of lambdas and streams.
Present performance analysis of lambdas and streams when compared to conventional syntax for same functionality.
Present lambdas and streams variations and tools that can improve performance.
CONTENT OUTLINE
1. Motivation
2. Lambdas versus anonymous inner classes
a) Main differences regarding implementation and compile
b) Performance benchmarking comparison between the two
3. Capturing versus non-capturing lambdas
a) Definitions and differences between them regarding implementation
b) Performance benchmarking comparison between the two and their variations
4. Streams versus for loops
a) Streams functionalities that enhance performance
b) Performance benchmarking comparison between streams and for loops
c) Performance benchmarking comparison between different stream variations
5. Parallel Streams
a) How they work
b) Performance benchmarking comparison between scenarios where parallel stream performance decreases
6. Conclusions
Bio
Joana Socrates is a Software Engineer at Ocado Technology, working to achieve technology evolution and the pursuit of new challenges. She is a PhD in computer architecture and in computer engineering. Currently based in Barcelona.