मेरा काम हजारों बार बुलाया जाएगा। यदि मैं इसे तेज़ी से बनाना चाहता हूं, तो स्थानीय फ़ंक्शन वेरिएबल को किसी भी उपयोग के स्थिर होने के लिए बदल देगा? इसके पीछे मेरा तर्क यह है कि, क्योंकि स्थैतिक चर फ़ंक्शन कॉल के बीच लगातार होते हैं, इसलिए उन्हें केवल पहली बार आवंटित किया जाता है, और इस प्रकार, प्रत्येक अनुवर्ती कॉल उनके लिए स्मृति आवंटित नहीं करेगी और तेजी से हो जाएगी, क्योंकि स्मृति आवंटन चरण नहीं किया जाता है।सी में, फ़ंक्शन में स्थिर चर का उपयोग करके यह तेज़ी से बना देता है?
इसके अलावा, यदि उपर्युक्त सत्य है, तो पैरामीटर के बजाय ग्लोबल वेरिएबल्स का उपयोग करने के लिए हर बार इसे फ़ंक्शन में जानकारी पास करने के लिए तेज़ हो जाएगा? मुझे लगता है कि पैरामीटर के लिए स्थान आवंटन की अनुमति देने के लिए प्रत्येक फ़ंक्शन कॉल पर भी आवंटित किया जाता है (यही कारण है कि रिकर्सन अधिक मेमोरी का उपयोग करता है), लेकिन चूंकि मेरा फ़ंक्शन रिकर्सिव नहीं है, और यदि मेरा तर्क सही है, तो पैरामीटर को लेना सिद्धांत में होगा यह तेज़
मुझे पता है कि मैं इन चीजों को जानना चाहता हूं जो भयानक प्रोग्रामिंग आदतें हैं, लेकिन कृपया मुझे बताएं कि यह बुद्धिमान है या नहीं। मैं वैसे भी कोशिश करने जा रहा हूं लेकिन कृपया मुझे अपनी राय दें।
प्रोफाइलिंग से पहले कोड अनुकूलित न करें! ... –
http://stackoverflow.com/questions/3730000/can-static-local-variables-cut-down-on-memory-allocation-time – jamesdlin
आम तौर पर खराब करना हजारों बार नामक एक समारोह के लिए मुश्किल से मामूली गतिरोध प्राप्त करने के लिए चीजें वास्तव में एक बुरा विचार है। यदि आप हजारों बार नामक फ़ंक्शन के लिए 10ns प्रति फ़ंक्शन कॉल सहेज सकते हैं ... आपने 10 माइक्रोसॉन्ड के कुछ से अधिक सहेजे हैं, जो कि तुच्छ है, जब तक कि आप हार्ड रीयल-टाइम सिस्टम पर काम नहीं कर रहे हों और एक गंभीर समस्या हो समय slicing के साथ। प्रोफाइलर का सुझाव देने वाले सभी के लिए –