#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 [email protected].
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.