Skip to content
This repository has been archived by the owner. It is now read-only.

Use incremental XML parsing to avoid blocking #16

Closed
macosforgebot opened this issue Aug 16, 2006 · 9 comments
Closed

Use incremental XML parsing to avoid blocking #16

macosforgebot opened this issue Aug 16, 2006 · 9 comments

Comments

@macosforgebot
Copy link

@macosforgebot macosforgebot commented Aug 16, 2006

@wsanchez originally submitted this as ticket:16


When we receive requests from the network which contain XML bodies (eg. DAV methods), we read the request stream into memory until we have all of it, then parse the XML. This is the only option we ahve with PyXML, I think, since it's parse() routines require a string, or do blocking I/O on a filehandle.

The downside here is that we have to have all of the XML in memory before we can continue, which is lame.

What we actually want is a parser that we can feed data to incrementally. ElementTree appears to have this property, so switching parsers to ElementTree could be nice. ElementTree also has the advantage of being slated for inclusion in future python releases, seems lighter weight than PyXML, and has a less complicated licensing situation.

We should also consider LXML, which is ElementTree-like, but binds to the Libxml2 C library and apparently performs better.

What we're after here is better performance, in terms of both memory and CPU. XML parsing and iCalendar parsing are, I think, going to be some of our prominent bottlenecks.

I'll mark this as a P4 for Preview 1, since our main goal for Preview 1 is feature completeness, so people can start using it.

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Aug 16, 2006

@wsanchez originally submitted this as comment:1:⁠ticket:16


Note that this is actually an issue for twisted.web2.dav; so we need to mirror the bug in Twisted's trac and fix it there.

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Aug 16, 2006

@wsanchez originally submitted this as comment:2:⁠ticket:16

  • Type changed from Defect to Enhancement
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Sep 12, 2006

@wsanchez originally submitted this as comment:3:⁠ticket:16

  • Status changed from new to assigned
  • Summary changed from Use incremental XML parsing to Use incremental XML parsing to avoid blocking
  • Priority changed from 4: Nice to have to 2: Expected

See #⁠40

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Jan 29, 2007

@wsanchez originally submitted this as comment:4:⁠ticket:16

  • Milestone changed from Preview 1 to Version One
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Jul 30, 2007

@wsanchez originally submitted this as comment:5:⁠ticket:16

  • Milestone changed from 1.0 to 2.0
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Oct 26, 2009

@wsanchez originally submitted this as comment:6:⁠ticket:16

  • Milestone changed from CalendarServer-2.x to CalendarServer-3.x
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Aug 1, 2011

@wsanchez originally submitted this as comment:7:⁠ticket:16

  • Radar deleted
  • Milestone changed from CalendarServer-3.x to CalendarServer-4.x
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Jan 24, 2013

@wsanchez originally submitted this as comment:11:⁠ticket:16

  • Milestone changed from CalendarServer-4.x to Later

This has diminished in importance, but still seems relevant. Punting to Later.

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Mar 26, 2015

@wsanchez originally submitted this as comment:13:⁠ticket:16

  • Status changed from assigned to closed
  • Resolution set to Not to be fixed

Expiring old bugs with unknown state and impact.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.