का प्रदर्शन क्या कोई मुझे विभिन्न परिदृश्यों में XPath और DOM के बीच कुछ व्यापक प्रदर्शन तुलना प्रदान करेगा? मैंने SO12 xPath vs DOM API, which one has a better performance और XPath or querySelector? जैसे कुछ प्रश्न पढ़े हैं। उनमें से कोई भी विशिष्ट मामलों का उल्लेख नहीं करता है। यहां कुछ ऐसा है जो मैं शुरू कर सकता हूं।XPath बनाम डीओएम
- कोई पुनरावृत्ति शामिल नहीं है। getElementById (foobar) बनाम // * [@ id = 'foobar']। क्या पूर्व बाद में लगातार तेज है? क्या हुआ अगर उत्तरार्द्ध अनुकूलित किया गया है, उदा।/Html/शरीर/div [@ id = 'foo']/div [@ id = 'foobar']?
- इटरेशन शामिल है। getElementByX तब बच्चे नोड्स बनाम XPath स्नैपशॉट उत्पन्न करता है, फिर स्नैपशॉट आइटम के माध्यम से ट्रैवर्स करता है।
- एक्सिस शामिल थे। getElementByX फिर अगले भाई बहन बनाम // निम्नलिखित-भाई :: foobar के लिए आगे बढ़ें।
- विभिन्न कार्यान्वयन। विभिन्न ब्राउज़रों और पुस्तकालयों ने XPath और DOM को अलग-अलग लागू किया। XPath का कौन सा ब्राउज़र कार्यान्वयन बेहतर है?
xPath vs DOM API, which one has a better performance में जवाब कहते हैं, औसत प्रोग्रामर अप पेंच हो सकता है जब डोम तरह से जटिल कार्य (जैसे कई कुल्हाड़ियों शामिल) को लागू करने, जबकि XPath गारंटी है अनुकूलित। इसलिए, मेरा प्रश्न केवल सरल चयनों की परवाह करता है जो दोनों तरीकों से किया जा सकता है।
किसी भी टिप्पणी के लिए धन्यवाद।
प्रदर्शन और अनुकूलन के संबंध में लगभग किसी भी प्रश्न के साथ, यह आपकी विशिष्ट परिस्थितियों और सामग्री पर निर्भर करेगा। जवाब है "अपने ऐप को अपने डेटा से प्रोफाइल करें, और चुनें कि जो भी आपके लिए सबसे अच्छा काम करता है"। इसके अलावा, आपने बहुत से सामान्य प्रश्न पूछे हैं। इसे शायद "असली सवाल नहीं" के रूप में बंद किया जाना चाहिए, और यदि कोई और सोचता है तो मैं ऐसा करने के लिए मतदान में शामिल हो जाऊंगा। –
मेरा व्यक्तिगत अनुभव यह है कि डोम आमतौर पर XPath या चयनकर्ता एपीआई कार्यान्वयन (जैसे फ़ायरफ़ॉक्स) से 10 गुना अधिक तेज होता है।हालांकि, चूंकि XPath संदर्भ नोड स्वीकार करता है, शायद डीओएम के साथ "स्थिर" पैरेंट नोड का चयन करना और बाकी नौकरी के लिए XPath का उपयोग करना सबसे अच्छा है। यह उच्च प्रदर्शन और मजबूत दोनों हो सकता है। –
XPath को गैर-डीओएम एपीआई पर बनाया जा सकता है, उदाहरण के लिए, vtd-xml का xpath कार्यान्वयन वर्चुअल टोकन डिस्क्रिप्टर के शीर्ष पर बनाया गया है ... –