LINEUP & SCHEDULE

Insights gained from the development of a concurrent cache library.

  • 16:40 - 17:05 (JST)

    • Session Language: 日本語

Moka is a concurrent cache library that I have been developing since 2021. It is used in the backend services of crates.io and sentry.io, for example, to support their high traffic web services.

In this session, I will share my experiences and challenges gained through the development of Moka. I will start with cache specific topics such as improving hit rates. And then I will present some knowledge that can be applied to general concurrent programming, such as how to choose a right data structure that will not spoil concurrency in asynchronous runtimes.

  • Requirements of a cache library and how to achieve them.
    • Algorithms to increase the hit rate.
    • Arc<RwLock<_>>. Simple API for concurrent programming.
  • Common technics to increase concurrency.
    • Atomic* types, reducing lock contentions, lock-free data structures, etc.
  • Challenges and next steps.
    • Avoiding bugs related to unsafe Rust and how to debug them, etc.

Share it on


Bio

Tatsuya Kawano

Tatsuya Kawano

A freelance software engineer who loves Rust. Building Rust-based web services at Fairy Devices, Inc. Co-author of a Japanese book "A Practical Introduction to Rust". (gihyo.jp, published in 2019)


Copyright © Rust.Tokyo 2023 all rights reserved.


特定商取引法に基づく表示

ぜひフォローしてください! @rustlang_tokyo

お問い合わせ: rust-tokyo-staff@googlegroups.com

過去の開催