I am sure a a lot of django devs will like it, but if I need the performance that I would get from going async, I would not being using django as my web framework.
FWIW I like django / python for a lot of things, just not for performance.
I am sure a a lot of django devs will like it, but if I need the performance that I would get from going async, I would not being using django as my web framework.
FWIW I like django / python for a lot of things, just not for performance.
I don't actually actually know if there would be any substantial benefit. It's like when I tried PyPy as my django interpreter. It gave a few percent speed increase in "real world" but created extra work for deployment.
I've been using Django non-stop from 0.96, and it just works, and you can build around it. If I was running a trading clearing house, or Instagram, I'd probably care about marginal improvements, and then use another language. But for Django, just tuning the workers per server node, and using django-rq jobs works really well.
Kudos for the enthusiasts working on this though, because 'async' is a new Python feature/meme, and supporting it is just being a good ecosystem player.
Ha, Instagram was written in Django!
You just have to manually call json.parse(request.body) for incoming requests and return JsonResponse(data). And you generally need to serialize the data yourself.
Django does have some built-in model serialization, but that's mostly for import/export data, not really for sending to the browser.
I wish Django followed Ruby on Rails a little by focusing on improved developer experience instead of niche features that only a few mega corps need.
In a way, yes.
Async in django means that with relatively minor adjustments to your codebase you may significantly increase your requests over time throughput.
And as someone else pointed out, if you have database queries that do not depend on each other you can effectively wait for their results in parallel, which might this time not only increase throughput but also lower the total request time.
It’s a very valuable development that brings significant gain for relatively minor changes.
If you are a professional django developer you should not dismiss such developments like that.