2010-01-19 6 views
17

मुझे फ़ाइल का उपयोग करके एक सर्वर से दूसरे सर्वर में एक बड़ी सरणी स्थानांतरित करना है। यह एक बहुआयामी है, लेकिन काफी सरल सरणी है। अब मैं इस फ़ाइल को दूसरे सर्वर पर अपने एप्लिकेशन में लाने के लिए सबसे कुशल तरीका खोज रहा हूं। तो यह सवाल फ़ाइल-> सरणी भाग के बारे में है, पहले सर्वर पर सरणी-> फ़ाइल भाग नहीं है।PHP: var_export के रूप में ऐरे/बनाम बनाम (un) serialize बनाम json_ (en | de) कोड

बेशक मैंने 3 विकल्पों पर कुछ मानक बनाए जो सबसे अधिक आशाजनक लगते थे। मेरा पूरा बेंचमार्क डेटा:

समय:

  • में शामिल हैं: 0.338 ...
  • unserialize: 0.180 ...
  • json_decode: 0.134 ...

शिखर स्मृति उपयोग:

  • में शामिल हैं: 384374,64
  • unserialize: 201377,28
  • json_decode: 219528,08

फ़ाइल का आकार:

  • में शामिल हैं: 3135 kB
  • unserialize: 3142 kB
  • json_decode: 1838 केबी

मुझे लगता है कि json_decode, जाने का रास्ता है, क्योंकि शिखर स्मृति उपयोग मेरी सबसे छोटी चिंता का विषय है और यहां तक ​​कि वहाँ json काफी अच्छा है। लेकिन जेसन की गति और फ़ाइल का आकार सिर्फ चट्टानों। मैंने कभी सोचा नहीं है कि यह तेज़ हो।

कोई आपत्तियां या अन्य सुझाव? 1) के लिए जनवरी को

+0

आप समाधान अपने आप को मिल गया है लगता है। अब आपको बस (और JSON का उपयोग करें) का पालन करना होगा। :) – jensgram

+3

+1 - यह बहुत अच्छा है कि आपने यहां आने से पहले और अपना प्रश्न पूछने से पहले यह सब किया। अधिकांश प्रयास में नहीं गए होंगे। –

+1

निश्चित रूप से शामिल विधि सबसे तेज़ होना चाहिए क्योंकि यह पहले से ही PHP कोड है? क्या मैं कुछ भूल रहा हूँ? – aland

उत्तर

2

कुडोस वास्तव में, कुछ समय पहले अलग अलग तरीकों 2) परिणाम

साझा करने की कोशिश कर रहा एक ऐ प्रणाली whwew नॉलेजबेस एक बड़े सरणी में जमा हो गया था पर काम कर रहा था। मैंने पाया कि फ़ाइल से सरणी को बेअसर करने के बजाय डेटाबेस रिकॉर्ड्स (स्थानीय mysql, लगभग 30,000 पंक्तियों) से संपूर्ण सरणी को पुनर्निर्माण के लिए यह तीव्रता का क्रम था।

(यह भी मतलब था कि मैं बाद में ज्ञान वृक्ष के प्रासंगिक हिस्सों को चुनिंदा रूप से लोड करने के लिए कोड में संशोधन करने में सक्षम था जो इसे और भी तेज करता था)।

HTH

सी

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