Turbocharging web socket integration for Tapir

We managed to alleviate almost entirely the slowdown induced by Tapir in a web socket server. The journey towards this goal was quite insightful, and we would like to share it with you.

Kamil Kloch
About This Talk

We love to use Tapir for the rapid development of Web APIs. Recently, we noticed it considerably impacted the performance of a web socket server (increased latency, lower throughput, heightened CPU usage). We managed to alleviate the slowdown almost entirely (reducing the overhead to a minimum - much less latency and CPU usage, greater throughput - performance rivalling a plain cats-effect/http4s/fs2 stack). The journey towards this goal was quite insightful, and we would like to share it with you.
In particular, we will cover async-profiler, introduce you to some high-level concurrency combinators of the fs2 library and show some surprising benchmarks.

Let the results be a testament to the JVM’s excellent tooling and a proof that one can use high-level Scala libraries like Tapir without compromising on overall performance.

more great talks

Might Be Interesting

Day 2
10:00 am
arrow pointing right icon

The debatably Free monad

This talk is my slightly expanded version of that statement, and should hopefully understand what "Free" is, what purpose it serves and where it came from.

Day 1
1:30 pm
arrow pointing right icon

My First Year in Scala

In this talk, I will cover three key concepts that emerged from reflecting on this past year of learning: making mistakes, helping others to help you and finding community.

Day 1
8:00 pm
arrow pointing right icon

Scalar Afterparty!

Don't miss out on this opportunity to connect with Scalar community and create lasting memories

Day 2
12:00 pm
arrow pointing right icon

Looking beyond the scope: Scala application from an external lens

Join me in a talk empowering you to build Scala applications that not only excel internally but also deliver optimal experiences from an external perspective.

Day 1
9:30 am
arrow pointing right icon

Mirrors for operations, not data

I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon


Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us