[vtk-developers] Add pugixml to VTK

Dan Lipsa dan.lipsa at kitware.com
Thu Jul 5 12:40:36 EDT 2018


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

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.



> 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
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtk-developers/attachments/20180705/46217d1c/attachment.html>


More information about the vtk-developers mailing list