PyCon Israel 2022

πŸ‡ΊπŸ‡Έ Building Lightning-Fast Apps With asyncio
06-28, 11:00–11:20 (Asia/Jerusalem), Main Hall

asyncio, Python's concurrent I/O library, can power very-high-performance applications. Come and hear the story of how we were able to replace a legacy service cluster with a single asyncio-powered instance, and how you can do it too.


Modern services must handle vast amounts of traffic efficiently and in a scalable manner. One method of achieving high throughput while keeping things simple is by utilizing concurrent I/O.

The asyncio package is Python's offering for building high-performance, concurrent applications using non-blocking I/O. It is also known as an event loop or async/await (among other names), but in essence, it's a useful method for achieving high concurrency efficiently – one that differs from the principles of multithreading and offers unique benefits.

In this talk, I will share the story of why we designed an asyncio-based Python service, how its performance exceeded that of the Java service it replaced by an order-of-magnitude, and what learnings we gained from it. These learnings can help us design super-fast, highly concurrent services.

We will talk about:
- The principle behind asyncio's efficiency - its secret sauce.
- When asyncio shines, and when you might opt for a different approach.
- How to combine it with other paradigms to maximize your application's performance.


Session language –

English

Target audience –

Developers

Assaf is a software engineer at Dropbox. He has experience designing and developing large-scale, distributed systems in Python, Go, and other languages. He is curious about technologies that simplify complexity and make work more efficient.