Monday 15 April 2013

python - How fast is Whoosh? -


व्हायोश शुद्ध पायथन () में लागू एक तेज़, सुविधापूर्ण पूर्ण-पाठ अनुक्रमणिका और खोज लाइब्रेरी है।

लेकिन मुझे अन्य खोज इंजन, विशेष रूप से लुसेन आधारित (प्युलूसिन, ल्यूपीन ...) की तुलना में किसी भी गति / प्रदर्शन की तुलना नहीं मिल पाई है?

मुझे प्युलसीन का उपयोग करने के लिए उपयोग किया जाता है जो कि तेज लेकिन काफी गैर -पीथोनिक और संभालना आसान नहीं है (प्रत्यक्ष जावा-लुसेन आवरण)। प्युलूसिन का एक अजवायनिक आवरण है; Lupyne। हालांकि यह सुविधाजनक नहीं है जब लुसेन की मुख्य विशेषताएं आवश्यक होती है।

व्हायोश और अन्य के बीच कोई भी प्रदर्शन संकेत देता है।

{1} व्हाईट व्हाट ज़ापी / एक्सपीयन

व्हायोश और ज़ापपी / एक्सपीयन द्वारा समर्थित पाइथन खोज का परीक्षण करने के लिए मानक हैं।

बेंचमार्क कैसे काम करता है

एन दस्तावेज़ जेनरेट किए जाते हैं, खोज शब्द एक यादृच्छिक शब्द और 10 वर्ण लंबा है, प्लस 10 अतिरिक्त फ़ील्ड के साथ यादृच्छिक सामग्री के प्रत्येक 100 वर्ण (केवल दस्तावेज़ के आकार को पंप करने के लिए)।

अनुक्रमण के लिए, सभी फ़ील्ड अनुक्रमित हैं और संग्रहीत।

खोज के लिए, सभी शब्दों को यादृच्छिक क्रम में खोजा जाता है और सभी संग्रहीत फ़ील्ड पुनर्प्राप्त किए जाते हैं।

Whoosh के लिए, हमने अनुक्रमणिका बनाने के लिए बहुप्रोसेटिंग लेखक का इस्तेमाल किया - यह बताता है कि यह क्यों एक्सपीई की तुलना में अनुक्रमण के लिए तेज़ है (क्योंकि यह यू Sed सभी 4 कोर, न सिर्फ 1)।

खोज के लिए, ज़ापी / एक्सपीयन तेज है (कोई समानांतर प्रसंस्करण नहीं था)। लेकिन आप देखते हैं कि जेपी और व्हाट्सश के बीच की गति अंतर संभवतः जितना संभव हो उतना बड़ा नहीं है।

अनुक्रमणिका आकार लगभग 12 एमबी

 < कोड> # फेनोम II X4 840, 8 जीबी रैम, एचडीडी # पायथन 2.7.2+ (डिफ़ॉल्ट, 4 अक्टूबर 2011, 20:06:09) # [जीसीसी 4.6.1] linux2 परम: DOC_COUNT: 3000 WORD_LEN: 10 EXTRA_FIELD_COUNT: 10 एक्सट्रा_फीलडी_एलईएन: 100 बेंचमार्किंग: एक्सपीईपी 0.5 / एक्सपीयन 1.2.5 इंडेक्सिंग 2.8 एस (1068.9 / एस) लगते हैं। 0.5 एस (6635.8 / एस) में लग रहा है बेंचमार्किंग: जोश 2.3.2 इंडेक्सिंग 0.8 सेकेंड (3575.6 / एस) लेता है (3714.8 / एस)  

No comments:

Post a Comment