2016-05-09 17 views
20

पायथन में क्रमशः pickle और cPickle मॉड्यूल दोनों के लिए मॉड्यूल हैं।क्या मुझे अचार या सीपीकल का उपयोग करना चाहिए?

cPicklepickle पर गति का स्पष्ट लाभ है: गति। क्या, यदि कोई है, तो pickle का लाभ cPickle से अधिक है?

+4

FYI करें: मैं आपके सवाल का downvoted क्योंकि आप समय खोज इंजन में "अचार cpickle बनाम" टाइप करने के लिए नहीं लिया। – timgeb

+4

यह दिलचस्प है कि जब इस सवाल से पूछा गया, तो उसे 3 डाउनवॉट प्राप्त हुए और 4 घंटे के भीतर बंद कर दिया गया। तब से वर्ष में, इसे 7 अपवॉट प्राप्त हुए हैं और अब 2,500 बार देखा गया है ... – user200783

+2

@timgeb यह सवाल अब "पिकल बनाम सीपीकल" – BallpointBen

उत्तर

26

अचार मॉड्यूल बाइट्स की एक श्रृंखला में एक मनमाना अजगर वस्तु मोड़ के लिए एक एल्गोरिथ्म लागू करता है। इस प्रक्रिया को "ऑब्जेक्ट" को क्रमबद्ध करने के लिए भी कहा जाता है। ऑब्जेक्ट का प्रतिनिधित्व करने वाली बाइट स्ट्रीम को तब प्रसारित या संग्रहीत किया जा सकता है, और बाद में उसी विशेषताओं के साथ एक नई वस्तु बनाने के लिए पुनर्निर्मित किया जा सकता है।

cPickle मॉड्यूल एक ही एल्गोरिथ्म को लागू करता है, सी बजाय अजगर में। यह पाइथन कार्यान्वयन से कई गुना तेज है, लेकिन उपयोगकर्ता को अचार से उपclass करने की अनुमति नहीं देता है। यदि आपके उपयोग के लिए सबक्लासिंग महत्वपूर्ण नहीं है, तो आप शायद सीपीकल का उपयोग करना चाहते हैं।

Source उपरोक्त जानकारी के।

4

मैं इस बारे में अचार और cPickle पाया:

"अचार मॉड्यूल बाइट्स की एक श्रृंखला में एक मनमाना अजगर वस्तु मोड़ के लिए एक एल्गोरिथ्म को लागू करता है ....

cPickle मॉड्यूल एक ही एल्गोरिथ्म को लागू करता है, अजगर के बजाय सी में। यह कई गुना तेजी से अजगर कार्यान्वयन की तुलना में है, लेकिन उपयोगकर्ता अचार से उपवर्ग की अनुमति नहीं है।

तो उपवर्गीकरण अपने उपयोग के लिए महत्वपूर्ण है, तो आप शायद w नहीं है सीपीकल का उपयोग करने के लिए चींटी। "

स्रोत: https://pymotw.com/2/pickle/

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