Django FTL: Resolving bottlenecks on the path to high performance.

By Maxim Danilov

Elevator Pitch

Raw Django doesn’t take the first places if we speak about performance. However, it can be fast if we identify the bottlenecks and find ways to avoid them. Comparing performance “before” and “after” gives us an understanding of which features should be implemented and what can be skipped.

Description

The Django framework offers a beautiful set of diverse tools that are easy to understand, set up, and start working with. However, after some time, appearing disadvantages of the framework’s features may increase the complexity of the development process and fatally reduce project performance. While the new version of Django successfully improves the developers effictivity, the removing performance issues requires a good understanding of how Django works.

In this talk, I will review the most significant performance-reducing factors in Django and provide examples of how to avoid them.

Overview of the talk from a 10,000-feet view:

  1. Django vs. other faster frameworks: reviewing architectural differences.
  2. Request-Response Flow: Identifying elements that can be easily omitted.
  3. Forms and Data validation: Balancing flexibility and performance.
  4. The quickest methods for data serialization.
  5. Debunking myths about async-await productivity.
  6. Fire and Forget: FTL Client-Server Communication.
  7. Improving Time to First Byte (TTFB). Less known Responce classes.
  8. Reviewing other utilities to expedite our project.
  9. Q&A.

By comparing performance before and after, every developer attending this talk can decide which advice to implement in their own projects.

Notes

I have been working with Django for a decade, and collect differents tricks how to made Django performance faster than it appears on various benchmarks comparing Python framework performance.

Without financial aid for travel this talk will be not possible.