Presentation: Asynchronous API With CompletableFuture

Track: Performance Mythbusting

Location: Bayview AB

Day of week:

Slides: Download Slides

Level: Intermediate - Advanced

Persona: Backend Developer, Developer, Developer, JVM

What You’ll Learn

  • Performance tips for async particularly about java.util.concurrent.CompletableFuture.
  • Pitfalls to async development.

Abstract

Since Java 8, CompletableFuture has enabled asynchronous, future-based programming in Java and is one of the most powerful features suitable for creating asynchronous APIs. This presentation, based on real project experience, goes beyond the CompletableFuture public API. It reveals internal details and shows who stands to benefit from it for better performance.

Question: 

What do you do day-to-day?

Answer: 

Making things faster is my primary goal. Not only by measuring not only providing some performance guidance, but also working on different projects.

Question: 

What is your motivation for this talk?

Answer: 

At some moment I decided to make a presentation which will show the real performance job - how I took some project (It was new HttpClient appeared in Java9) and worked on its performance from scratch. The presentation become too big, so I split it into two parts: performance of synchronous API and performance of asynchronous. I think that problems which I discovered, how I improved will be interesting for the audience.

Question: 

Who should come to your talk?

Answer: 

Intermediate to advanced Java developers who want to understand how async architectures and development strategies work.

Question: 

What can people come take away from this talk?

Answer: 

Learning how to properly use async and CompletableFuture class to develop reliable fast code.

Question: 

What keeps you up at night?

Answer: 

What bothers me is the fact that technology is changing quite fast and how fast we should run or just adjust our tools our current tools and methodologies for new technologies for example.

Even a couple years ago everybody start talking about cloud etc. and nobody knows how to properly measure and estimate performance inside clouds.

Speaker: Sergey Kuksenko

Java Performance Engineer @Oracle

Sergey Kuksenko is a Java Performance Engineer at Oracle working on a variety of Java and JVM performance enhancements. He joined Oracle in 2010 and OpenJDK/OracleJVM is the third JVM in his experience. He started working as Java Engineer in 1996 and as Java Performance Engineer in 2005. He has had a passion for exploring how Java works on modern hardware.

Find Sergey Kuksenko at

Similar Talks

Evolution of Edge @Netflix

Qcon

Engineering Leader @Netflix

Vasily Vlasov

Mistakes and Discoveries While Cultivating Ownership

Qcon

Engineering Manager @Netflix in Cloud Infrastructure

Aaron Blohowiak

Monitoring and Tracing @Netflix Streaming Data Infrastructure

Qcon

Architect & Engineer in Real Time Data Infrastructure Team @Netflix

Allen Wang

Future of Data Engineering

Qcon

Distinguished Engineer @WePay

Chris Riccomini

Coding without Complexity

Qcon

CEO/Cofounder @darklang

Ellen Chisa

Holistic EdTech & Diversity

Qcon

Holistic Tech Coach @unlockacademy

Antoine Patton