#32312: Performance decrease following implementation of ASGI handler and
coroutine-safety.
-------------------------------+--------------------------------------
     Reporter:  David Smith    |                    Owner:  nobody
         Type:  Uncategorized  |                   Status:  new
    Component:  Uncategorized  |                  Version:  3.0
     Severity:  Normal         |               Resolution:
     Keywords:                 |             Triage Stage:  Unreviewed
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+--------------------------------------

Comment (by David Smith):

 The benchmark for `url_reverse` is the outlier here and with it being one
 of the more simple functions it is easier to see what is going on here.
 I've attached a couple of images generated by profiling this benchmark.

 It shows, an increase due to the replacement of `threading.local` with
 `asgiref.local.Local`. In the "old" image the `get_urlconf` and
 `get_script_prefix` are the first two unnamed bars on the 2nd row, the
 time to execute these two grow significantly in the "new" version. It's a
 similar story with `form_create` but it only has one element impacted and
 so is less impacted overall by this change. I started to look at `save()`
 but this function is more complex, although initial viewing suggests some
 elements are being impacted by this change.

 I think this starts to help indicate what the issue could be.

 Your note about what a significant slow down means is important, what
 ''does'' significant mean? I think it's much more than a particular
 function being slower on a single benchmark, for example, I wouldn't
 suggest that `url_reverse` is a particularly good indicator of the overall
 performance of Django in general.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32312#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/066.4480a43bdd30b026eb818229cb6ca8e9%40djangoproject.com.

Reply via email to