Async Rust in Practice: Performance, Pitfalls, Profiling

First Issue Arises

Reproducing the Problem

Profiling

cargo flamegraph your-app your-params

Hint

scylla = { git = "https://github.com/scylladb/scylla-rust-driver", branch = "some_custom_branch" }

Root Cause №1

Root Cause №2: a Pitfall in Async Rust

Quadratic Behavior?

The Pitfall

The Solution

Summary

--

--

--

The monstrously-fast NoSQL database.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Power of Cloud​Formation, The Superman of AWS

Use Emacs to simplify complexity

Box-shadows Device

AWS ECS Anywhere and IoT Device Management

Mocking AWS Services

[Ballerina] Error Handling — Part I

Make my dev branch a new main

Python Decorators

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
ScyllaDB

ScyllaDB

The monstrously-fast NoSQL database.

More from Medium

An HTTP Reverse Proxy in Rust with the actix-web framework

Advanced Types in Rust are quite helpful

The Rust logo has some rough nodes · Issue #2 · rust-lang/rust-artwork ·  GitHub

WTF Rust: attribute proc macros

How Rust can be used to Implement a better Operating System — Part 1