Is it possible to optimize speed of a mission critical application developed in Django with Cython?
Recently I have read on the internet, that Cython can turn a Python code to C like speed. Is this possible with Django?
Yes, we have done it.
You can directly copy your existing Python code into a Cython file and then compile it to boost performance.
Calling the Cython function is faster than calling a Python function call, it's true. But even 30 nanoseconds is rather slow by the standards of compiled languages: for comparison, a C function called by another C function might take only 3 nanoseconds, or much less if it gets inlined.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With