2013-07-15 15 views
5

Próbuję analizować prosty plik, i chcę wiedzieć, pomiędzy:Co jest szybszym analizatorem składni XML?

  • XML::Simple
  • XML::Smart
  • LibXML

których jeden jest szybszy?

+0

Łatwo: Użyj XML :: LibXML, który ma zaletę korzystania z biblioteki napisanej w C. Implementuje również znany DOM. XML :: Simple nie jest ani prosty, ani nie jest promowany przez jego autora (https://metacpan.org/module/XML::Simple#STATUS-OF-THIS-MODULE). (Nie jestem uprawniony do komentowania XML :: Smart, ale sądząc po przykładzie w dokumentach, nie bardzo by mi się to podobało). Jeśli masz bardzo duże dokumenty, które muszą być przesyłane strumieniowo, użyj zamiast tego [XML :: Twig] (https://metacpan.org/module/XML::Twig). – amon

+0

@amon - XML ​​:: Simple i XML :: Smart zarówno używają expata do parsowania XML, który jest również napisany w języku C. – Quentin

+0

"Streaming" jest również możliwy z 'XML :: LibXML', po prostu spróbuj' XML :: LibXML :: Reader' lub 'XML :: LibXML :: SAX'. –

Odpowiedz

8

XML :: LibXML jest najszybszy, zobacz benchmarki na Ways to Rome.

Może to, ale nie musi, dotyczyć "pliku prostego" (co, jak zakładam, oznaczałoby, że nie jest zbyt duży).

1

Jest też XML :: Fast, który wydaje się być dość poważnym rywalem. XML :: Simple może używać XML :: LibXML pod maską, ale wciąż widzę to jako główny procesor w moim testowaniu CalDAV.

Warto spróbować, jeśli zależy nam na dużej prędkości.

Powiązane problemy