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.
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.
In this talk, we will start with the basics, understanding what build caching is and why it can be a bit tricky to handle in real projects.
In my talk I will guide you through a deployment of a complete AI-based web service using Besom, Scala SDK for Pulumi.
In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.
In this talk, I will show how you can use ScalaPy to leverage an excellent NLP library like Spacy, minimizing your discomfort of using Python, and enhancing your comfort with Scala 3 for the remaining parts of your application.
This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance.