On Tue, Apr 05, 2005 at 10:38:36AM -0400, Konstantin Ryabitsev wrote: > On Apr 5, 2005 10:17 AM, Daniel Veillard <veillard@xxxxxxxxxx> wrote: > > Is that worth adding yet another XML Parser package to the distribution > > used by a single tool ? > > Yes, I believe it is. 2-3 times faster in my book is definitely "worth it." > > > Is there a compatibility layer to still use libxml2 ? > > I don't mean to come across as rude, but libxml2 has a very clunky you are not rude, but obviously in a flamebait mode, looks not serious rather than rude in my book. > non-pythonic API. I'd choose cElementTree if only because I don't have > to use MethodNamesThatStartWithCapsAgainstAllConventions(). It also Hum, sorry but that argument sounds silly, the code was there, i.e. coded, working, debugged. > has sensible error reporting libxml2 has extensive error reporting even at the python level. > (i.e. not just segfault, which is not > useful with python). where is the "yum segfault because of libxml2 python bindings" bug report ? > In other words, cElementTree feels like a Python library, as opposed > to libxml2, which is very obviously a set of bindings to a C API done > as an afterthought. libxml2 is part of Fedora Core, celement tree wasn't part of Fedora Core. We removed other components of Fedora Core because they were duplicate, you're adding a new duplicate library in core, I don't think aesthetic consideration are really worth it. > > If I remember correctly, the performance problem wasn't libxml2 itself > > but the specific usage within yum, i.e. collecting the data, libxml2 by > > itself is parsing the megabyte sized file in less than a tenth of a second. > > I believe it wasn't "within yum" it was "within python," specifically > going from C strings to python strings, which took a lot of resources. > That's all that matters to yum, since, well, it's written in python, > and cElementTree outperformed libxml2 in our tests and resulted in > much nicer code. I'm the one who did the testing and convincing, so > all blame and hatemail should be aimed at me. Did you ever tried to discuss with me instead of making the decision on your side ? I don't remember this. Only exchanges I got were with Seth and rather positive, I remember changing stuff in the bindings to help him ! > > I'm surprized the solution ends up going to use a python specific library > > instead of trying to find why the interface between libxml2 and yum generated > > that problem. I don't remember you saying you would switch library as a result. > > cElementTree (part of python-elementtree) is not a python-specific > library. It's a python interface to expat, and a very well-designed > one. It has fewer features than libxml2, for sure, but it's far more > pleasant to use in python. > > Kind regards, hum, no, I really took your mail as "I blame you in a non-contructive fashion", adding "Kind regards" can in no way erase in an easy way the feeling I got from your mail. Daniel -- Daniel Veillard | Red Hat Desktop team http://redhat.com/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/