Главная
Study mode:
on
1
Intro
2
Release Manager
3
Deployed with runners that run many copies using threads or processes
4
use safely (without race conditions)
5
Thread memory overhead: 32kB to 8MB per thread
6
The approach of Twisted, Tornado, asyncio, curio
7
Identical system call at their core: Selector functions
8
Selector functions take a list of file descriptors (e.g. sockets, open files) and tell you what is ready for reading or writing
9
Selector loops can handle thousands of open sockets and events
10
Data is channeled through a transport to a protocol implementation (e.g. HTTP)
11
Sending data is queued until the network is ready
12
Higher density per core No threads required! Concurrency, not parallelism
13
You're probably waiting on the client or the database
14
coroutines are a special generator
15
Repairing library API fragmentation
16
It should be easy for (Python 3.3 ports of) frameworks like Twisted, Tornado, or even gevent to either adapt the default event loop implementation to their needs using a lightweight adapter or proxy,…
17
Reducing duplication
18
For this interoperability to be effective, the preferred direction of adaptation in third party frameworks is to keep the default event loop and adapt it to the framework's API. Ideally all third par…
19
asyncio is an apple Twisted is a fruit salad
20
Tornado is a great example of interoperation
21
Asynchronous code executed in a synchronous style
22
Why Twisted is still worth using
23
Time based releases, taken off our trunk branch
24
Super easy to make your own protocols!
25
Established library support
26
Code review Automated testing Thousands of tests
27
Python 3.4/3.5 is coming to Windows soon!
Description:
Explore a comprehensive conference talk that delves into the world of asynchronous I/O in Python, focusing on the role of asyncio and its relationship with other frameworks like Twisted and Tornado. Learn about the historical context of asynchronous programming in Python, the introduction of PEP 3156, and the current state of asyncio integration. Gain insights into the technical details of selector loops, coroutines, and the benefits of asynchronous programming. Discover the future direction of Twisted, the challenges faced by asyncio as a standard API, and potential solutions. Understand the differences between various frameworks, their interoperability, and the continued relevance of Twisted in the Python ecosystem.

The Report of Twisted's Death

EuroPython Conference
Add to list