#36520: Performance Regression in parse_header_params
-------------------------------------+-------------------------------------
     Reporter:  David Smith          |                    Owner:  Natalia
                                     |  Bidart
         Type:  Bug                  |                   Status:  assigned
    Component:  HTTP handling        |                  Version:  dev
     Severity:  Release blocker      |               Resolution:
     Keywords:                       |             Triage Stage:  Accepted
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Comment (by Natalia Bidart):

 Replying to [comment:25 Mike Edmunds]:
 > Given all that, I suspect Django would be better off ''not'' using
 Python's email package to parse HTTP headers. The technical and
 maintenance requirements aren't well aligned. Jacob's analysis in
 comment:22 seems spot on. James Webber's [https://discuss.python.org/t
 /performance-regression-from-using-email-message-message-get-params-as-
 replacement-of-cgi-parse-header-following-pep-594/99963/4 reply] to
 Natalia's Python forum post also puts it pretty well.

 Thanks so much, Mike! This is incredibly useful. Jacob and I will chat
 more in person next week at DjangoCon US, but it looks like we may need to
 go with the revert for now. I really appreciate your perspective, it helps
 a lot in framing the next steps.

 > Post-6.0, perhaps there could be a collaboration with Flask's
 maintainers on a high-performance, secure, maintained HTTP header parser
 purpose-built for web framework needs? (Or maybe there's already one in
 rust just waiting for some Python bindings?)

 Current Flask parsing is slower than our backported `cgi` version. Were
 you envisioning a collaboration to optimize their implementation for
 performance (perhaps reusing some of `cgi` bits) or to find a way to use
 ours across projects under a shared agreement?
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36520#comment:26>
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 django-updates+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/0107019915309074-2566a567-de88-48ac-a11c-4664cd2073c4-000000%40eu-central-1.amazonses.com.

Reply via email to