[Python-Dev] folding cElementTree behind ElementTree in 3.3 (original) (raw)

Andrew McNabb amcnabb at mcnabbs.org
Tue Feb 21 23:16:10 CET 2012


On Tue, Feb 21, 2012 at 10:47:43PM +0100, "Martin v. Löwis" wrote:

> I can't fathom why someone would do it though, since bar tiny > differences (like this one) cET is just a faster ET and it's available > practically everywhere with CPython. I mean, is it really important to > be able to subclass ET.Element? What goal does it serve?

Statements like this make me extremely worried. Please try to adopt a position of much higher caution, accepting that a change is "incompatible" if there is a remote possibility that someone might actually rely on the original behavior. Otherwise, I predict that you will get flooded with complaints that you broke ET for no good reason.

I'm happy to stand up as an example of someone who uses a custom Element class. My specific use case is loading the project Gutenberg database, which is a 210MB XML file. I created a custom Element class which I use for the top-level element (a custom element_factory passed to TreeBuilder distinguishes between the top-level element and all others). The custom Element class doesn't add children, so it keeps ElementTree from storing all of the elements its seen so far. On a system with 1 GB of RAM, there was no other way to get the file to load.

So, I would be one of those people who would flood in the complaints. :)

-- Andrew McNabb http://www.mcnabbs.org/andrew/ PGP Fingerprint: 8A17 B57C 6879 1863 DE55 8012 AB4D 6098 8826 6868



More information about the Python-Dev mailing list