~/talk

Rewrite everything in Rust? What we learned from introducing Rust in Strawberry-GraphQL

Talkat PyCon Italia 2024 · 2024-05-22..05-25· [rust, python]
github:erikwrede
slides:none on file

Strawberry moves parsing and validation into Rust via a new library Rasberry, using Apollo Rust for validation and a shared GraphQL AST as the interface. Parsing and validation speed improves up to 7× and small queries run ~4.5× faster in end-to-end benchmarks. Two integration patterns are compared: mirror types (fast to construct, 20% better on large ASTs) versus instantiating Python types (lower runtime access overhead). Async callback overhead and Python–Rust crossings limit gains so migration proceeds incrementally on CPU‑bound subsystems with continuous benchmarking.

AI-written summary · about

  1. 0:00Introduction to strawberry
  2. 0:32Understanding graphql
  3. 1:24Graphql schema design
  4. 2:08Query execution basics
  5. 3:03Python ecosystem overview
  6. 3:39Strawberry implementation
  7. 4:24Performance challenges
  8. 9:53Integrating rust with python
  9. 11:11Data mapping strategies
  10. 14:47Benchmarking and results
  11. 20:21Future steps and Q&A
~/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.