~/talk

Keynote: The Natural State of Computers

Talkat DjangoCon US 2019 · 2019-09-22..09-27· [python, web-platform]
slides:none on file

Argues that Python web apps move from blocking WSGI to native async, claiming Django 3.0 native async will let apps handle long-lived connections and nonblocking I/O; names ASGI servers (uvicorn, Daphne) and libraries like twisted and asyncio and trio; shows benchmarks where async is slower at zero network latency but far better once per-request latency rises, and cites real hardware numbers (Ryzen 3600 six cores $200, EPYC 7702 64 cores $7,500, Melbourne→LA ~315 ms) and working ASGI/WebSocket stacks already in use.

AI-written summary · about

  1. 0:00Intro
  2. 0:15the natural state of computers
  3. 1:362015 django channels 1.0 sync django, async shell
  4. 2:08The Future of Django (alternate)
  5. 3:22Django might be able to support async & sync views
  6. 3:36Adopting an asynchronous framework is a long-term way forward
  7. 4:21start from the start
  8. 5:12gil stymies multithreading
  9. 6:03the gil is a rough lock
  10. 7:39async isn't new twisted, tornado, gevent
  11. 9:23real coroutines: async def and await
  12. 11:45languages need an async story
  13. 14:09spectre mitigations -15% performance hit
  14. 16:19physics is the unmovable force
  15. 21:13disparate clocks
  16. 26:39less single core performance increased latency increased complexity
  17. 29:05be aware of simultaneous multithreading
  18. 30:02maintain cache coherency
  19. 31:13preemptive multitasking the mind killer
  20. 33:42checking the microwave because it beeps
  21. 34:03native async: work within the system
  22. 35:02second: asynchronous webapp
  23. 35:30def async and await syntactic sugar for callbacks
  24. 35:57async code returns Promise/Deferred
  25. 36:18suspends the coroutine resumes on callback
  26. 38:11threadpool exhaustion
  27. 39:26hard concurrency limit number of possible threads
  28. 39:38async hard concurrency limit your single core performance
  29. 40:04python GIL means no python multithreading
  30. 40:21multiple processes accepting incoming connections on the same socket
  31. 40:54single process doing accepts, delegating to subprocesses
  32. 41:51subprocess worker pool distributed worker cluster
  33. 44:05server side rendering is dead
  34. 45:29not big data lots of small data
  35. 46:15message-passing is great
  36. 48:23python, python, python
  37. 49:39in-process DNS server
  38. 50:20sky's the limit
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.