Using Cython with Django. Does it make sense?

Is it possible to optimize speed of a mission critical application developed in Django with Cython

It’s doubtful.

Most of a web application response time is the non-HTML elements that must be downloaded separately. The usual rule of thumb is 8 static files per HTML page. (.CSS, .JS, images, etc.)

Since none of that static content comes from Django, most of your web application’s time-line is Apache (or Nginx or some other server software outside Django).

When looking at just the time to produce the HTML, you’ll find that most of the time is spent waiting for the database (even if it’s in-memory SQLite, you’ll see that the database tends to dominate the timeline)

When you’re through making Apache and the database go fast, then — and only then — you can consider the Python elements.

Bottom Line. Don’t waste any of your time on making Django and Python go faster.

Leave a Comment

tech