2013-07-15 5 views
5

मैं एक साधारण फ़ाइल को पार्स करने की कोशिश कर रहा हूँ, और मुझे पता है के बीच हैं:एक्सएमएल के लिए एक तेज पार्सर कौन सा है?

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

जो एक तेज है?

+0

आसान: एक्सएमएल :: LibXML का उपयोग करें, जिसका सी में लिखी गई लाइब्रेरी का उपयोग करने का लाभ है। यह परिचित डॉम को भी लागू करता है। एक्सएमएल :: सरल न तो सरल है, [न ही इसके लेखक द्वारा अनुमोदित] (https://metacpan.org/module/XML:: सिंपल#STATUS-OF-THIS-MODULE)। (मैं एक्सएमएल :: स्मार्ट पर टिप्पणी करने के लिए योग्य नहीं हूं, लेकिन दस्तावेज़ों में उदाहरण के आधार पर निर्णय ले रहा हूं, मुझे यह बहुत पसंद नहीं आएगा)। यदि आपके पास बहुत बड़े दस्तावेज़ हैं जिन्हें स्ट्रीम करने की आवश्यकता है, तो इसके बजाय [XML :: Twig] (https://metacpan.org/module/XML::Twig) का उपयोग करें। – amon

+0

@amon - XML ​​:: सरल और एक्सएमएल :: स्मार्ट दोनों एक्सएमएल को पार्स करने के लिए एक्सपैट का उपयोग करते हैं, जो सी में भी लिखा गया है। – Quentin

+0

'स्ट्रीमिंग "' एक्सएमएल :: लिबक्सएमएल 'के साथ भी संभव है, बस' एक्सएमएल :: लिबक्सएमएल :: रीडर 'या' एक्सएमएल :: लिबक्सएमएल :: एसएक्स' 'का प्रयास करें। –

उत्तर

8

एक्सएमएल :: LibXML सबसे तेज़ है, Ways to Rome पर बेंचमार्क देखें।

यह "सरल फ़ाइल" के लिए कोई फर्क नहीं पड़ता है (जो मुझे लगता है कि यह बहुत बड़ा नहीं है)।

1

एक्सएमएल :: फास्ट भी है जो एक गंभीर गंभीर दावेदार प्रतीत होता है। एक्सएमएल :: सरल एचडी के तहत एक्सएमएल :: लिबएक्सएमएल का उपयोग कर सकते हैं, लेकिन मैं अभी भी इसे अपने कैल्डावी परीक्षण में प्रमुख सीपीयू नाली के रूप में देख रहा हूं।

यह गति देने का लायक है यदि गति आपके लिए एक बड़ा विचार है।

संबंधित मुद्दे