#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.