[vtk-developers] Add pugixml to VTK
Elvis Stansvik
elvis.stansvik at orexplore.com
Fri Jul 6 09:27:45 EDT 2018
2018-07-05 18:40 GMT+02:00 Dan Lipsa <dan.lipsa at kitware.com>:
>>
>> I'm agnostic :)
>>
>>
>> An idea would be to maybe try to eliminate expat at some point afterwards,
>> to bring it down to just two libs again? I don't think the speed advantage
>> of expat over libxml2 could really matter that much? (libxml2 has both a
>> SAX-like and a pull-style reader API).
>
> Sounds good. I think the problem is finding the time to do it.
Yes, this was more of a suggestion for something to aspire towards.
Didn't mean it should block the addition of pugixml.
>
>> libxml2 can then be the power horse for those who want 100% conformance
>> and possibility of validation, while pugi for those who need speedy DOM.
>
>
> This was my thought about this as well.
>
>
>>
>> I wonder what are the speed-requiring use cases for DOM parsing though?
>> Are you parsing many small docs or a few big ones? Is the XML parsing a true
>> bottleneck?
>
>
> For citygml I am parsing a few large files. I am not sure where the
> bottleneck is as I have not implemented it. The processing, after parsing,
> seems pretty simple though - traversing the tree and moving the data into a
> VTK polydata.
Alright. Maybe this could actually benefit from being done in a
streaming fashion (à la libxml2's reader API)? Or will it be
beneficial/easier to have access to the whole DOM in memory?
Elvis
>
>
>>
>> Elvis
>>
>>>
>>>
>>> On Wed, Jun 20, 2018 at 12:13 PM Robert Michael O'Bara
>>> <bob.obara at kitware.com> wrote:
>>>>
>>>> SMTK and CMB use pugixml for years and have been very happy with it.
>>>>
>>>> Bob
>>>>
>>>> Sent from my iPad
>>>>
>>>> On Jun 20, 2018, at 12:07 PM, Jonathan Borduas
>>>> <jonathan.borduas at caboma.com> wrote:
>>>>
>>>> My 2 cents here is that speed is of the essence. Validating XML are good
>>>> for debugging, however I found that most don’t take the time to create an
>>>> XSD file to enable the validation.
>>>>
>>>>
>>>>
>>>> In most of our cases at Caboma, XML and meant to be human readable and
>>>> editable, but it is rare that we manually edit the structure of an XML file.
>>>>
>>>> However, we do wait after .xml parsing when the files are 20mb+. We hope
>>>> that the community would move to the latest version of pugixml (1.9): by
>>>> looking at the changelogs, there was a lot of performance improvements since
>>>> version 1.4 (the current version used in ParaView).
>>>> https://pugixml.org/docs/manual.html#v1.5
>>>>
>>>>
>>>>
>>>> Best
>>>>
>>>>
>>>>
>>>> Jonathan Borduas
>>>>
>>>> CTO, Caboma Inc.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> From: vtk-developers <vtk-developers-bounces at public.kitware.com> On
>>>> Behalf Of David E DeMarle
>>>> Sent: Wednesday, June 20, 2018 11:49 AM
>>>> To: Elvis Stansvik <elvis.stansvik at orexplore.com>
>>>> Cc: vtkdev <vtk-developers at vtk.org>
>>>> Subject: Re: [vtk-developers] Add pugixml to VTK
>>>>
>>>>
>>>>
>>>> I was thinking more if there should be a push towards one single lib,
>>>> ...
>>>>
>>>>
>>>>
>>>> I for one would really like us to get down to just one xml parser in
>>>> VTK. The more the less merrier in terms of maintenance effort and project
>>>> complexity eh?
>>>>
>>>>
>>>>
>>>> David E DeMarle
>>>> Kitware, Inc.
>>>> Principal Engineer
>>>> 21 Corporate Drive
>>>> Clifton Park, NY 12065-8662
>>>> Phone: 518-881-4909
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik
>>>> <elvis.stansvik at orexplore.com> wrote:
>>>>
>>>> 2018-06-16 8:37 GMT+02:00 Chiranjib Sur <sur.chiranjib at gmail.com>:
>>>>
>>>> My few cents... The disadvantage with pugixml is that it's a
>>>> non-validating parser. If I want to make full use of XML schema for any
>>>> custom developed plugin, it's a very poor choice then.
>>>>
>>>>
>>>>
>>>> Any thoughts?
>>>>
>>>>
>>>>
>>>> Also worth noting that it's a DOM-like parser only AFAIK, so if you want
>>>> to do streaming parsing in a push paradigm à la SAX or a pull paradigm à la
>>>> libxml2's reader interface, you'd need to turn to another library. Note that
>>>> may not be a problem if VTK already has libxml2 as a dep, since then you
>>>> could use that. I was thinking more if there should be a push towards one
>>>> single lib, then it might make sense to pick one that has both DOM and
>>>> streaming interfaces (don't know if that's a goal/consideration though).
>>>>
>>>>
>>>>
>>>> Elvis
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Thanks and regards,
>>>> Chiranjib
>>>>
>>>> ------
>>>> Using hand held device. Sorry for the typo, if any.
>>>>
>>>>
>>>>
>>>> On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit
>>>> <utkarsh.ayachit at kitware.com> wrote:
>>>>
>>>> > I thought Ben Boeckel was working on a removing as many things from
>>>> > ThirdParty as possible (and making them parts of a superbuild). So perhaps
>>>> > the CityGML reader should live in a VTK module that requires an external
>>>> > pugi? I know pugi is small, but...
>>>>
>>>> I am not sure that's correct. He was doing that for Python 3rd party
>>>> modules. Are you referring to that?
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Search the list archives at:
>>>> http://markmail.org/search/?q=vtk-developers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Search the list archives at:
>>>> http://markmail.org/search/?q=vtk-developers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Search the list archives at:
>>>> http://markmail.org/search/?q=vtk-developers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Search the list archives at:
>>>> http://markmail.org/search/?q=vtk-developers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Search the list archives at:
>>>> http://markmail.org/search/?q=vtk-developers
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> https://public.kitware.com/mailman/listinfo/vtk-developers
>>>
>
More information about the vtk-developers
mailing list