अनुदेश पथ की लंबाई: Difference between revisions
(Created page with "{{Short description|Number of machine code instructions required to execute a section of a computer program}} {{Unreferenced|date=November 2016}} कंप्यूटर...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Number of machine code instructions required to execute a section of a computer program}} | {{Short description|Number of machine code instructions required to execute a section of a computer program}} | ||
[[कंप्यूटर प्रदर्शन]] में, निर्देश पथ की लंबाई [[कंप्यूटर प्रोग्राम]] के अनुभाग को निष्पादित करने के लिए आवश्यक [[मशीन कोड]] निर्देशों की संख्या है। पूरे प्रोग्राम के लिए कुल पथ लंबाई को किसी विशेष [[कंप्यूटर हार्डवेयर]] पर [[कलन विधि]] के प्रदर्शन का माप माना जा सकता है। साधारण सशर्त निर्देश की पथ लंबाई सामान्यतः 2 के बराबर मानी जाएगी,{{Citation needed|date=January 2009}} निर्देश तुलना करने का और दूसरा निर्देश विशेष शर्त पूरी होने पर शाखा लेने का। पथ की लंबाई निर्धारित करते समय प्रत्येक निर्देश को निष्पादित करने में लगने वाले समय को आम तौर पर ध्यान में नहीं रखा जाता है और इसलिए पथ की लंबाई किसी भी अर्थ में पूर्ण होने के बजाय सापेक्ष प्रदर्शन का संकेत मात्र है। | |||
[[कंप्यूटर प्रदर्शन]] में, निर्देश पथ की लंबाई [[कंप्यूटर प्रोग्राम]] के | |||
[[बेंचमार्क प्रोग्राम]] निष्पादित करते समय, अधिकांश निर्देश पथ की लंबाई आमतौर पर प्रोग्राम के आंतरिक लूप के अंदर होती है। | [[बेंचमार्क प्रोग्राम]] निष्पादित करते समय, अधिकांश निर्देश पथ की लंबाई आमतौर पर प्रोग्राम के आंतरिक लूप के अंदर होती है। | ||
[[कैश (कंप्यूटिंग)]] की शुरुआत से पहले, पथ की लंबाई चलने के समय का | [[कैश (कंप्यूटिंग)]] की शुरुआत से पहले, पथ की लंबाई चलने के समय का अनुमान था, लेकिन कैश के साथ आधुनिक सीपीयू में, यह बहुत खराब अनुमान हो सकता है, जब डेटा कैश में नहीं होता है तो कुछ लोड निर्देश सैकड़ों चक्र लेते हैं, या कैश में होने पर तीव्रता के क्रम में तेजी से बढ़ते हैं (यहां तक कि लूप में दूसरे दौर में भी वही निर्देश)। | ||
==विधानसभा कार्यक्रम== | ==विधानसभा कार्यक्रम== | ||
चूँकि, आम तौर पर, असेंबली भाषा निर्देशों और मशीन निर्देशों के बीच | चूँकि, आम तौर पर, असेंबली भाषा निर्देशों और मशीन निर्देशों के बीच -से- संबंध होता है, निर्देश पथ की लंबाई को अक्सर किसी फ़ंक्शन या कोड के विशेष अनुभाग को निष्पादित करने के लिए आवश्यक असेंबली निर्देशों की संख्या के रूप में लिया जाता है। 1,000 प्रविष्टियों की [[[[छँटाई]] एल्गोरिथ्म]] सूची पर साधारण लुकअप तालिका निष्पादित करने के लिए शायद 2,000 मशीन निर्देशों की आवश्यकता हो सकती है (औसतन, इनपुट मानों का समान वितरण मानते हुए), जबकि [[बाइनरी खोज एल्गोरिदम]] का उपयोग करके सॉर्टिंग सूची पर समान लुकअप करने के लिए केवल 40 मशीन निर्देशों की आवश्यकता हो सकती है, जो बहुत ही महत्वपूर्ण बचत है। निर्देश पथ की लंबाई के संदर्भ में व्यक्त, इस [[सॉफ्टवेयर मीट्रिक]] को इस उदाहरण में 50 के बड़े कारक से कम किया जाएगा{{snd}} कारण यह है कि कम पथ लंबाई की आवश्यकता वाले एल्गोरिदम के अच्छे विकल्प की तुलना में वास्तविक निर्देश समय माध्यमिक विचार हो सकता है। | ||
किसी असेंबली भाषा प्रोग्राम की निर्देश पथ की लंबाई आम तौर पर उस प्रोग्राम के लिए कोड की स्रोत लाइनों की संख्या से काफी भिन्न होती है, क्योंकि निर्देश पथ की लंबाई में दिए गए इनपुट के लिए निष्पादित नियंत्रण प्रवाह में केवल कोड शामिल होता है और इसमें वह कोड शामिल नहीं होता है जो विशेष इनपुट, या पहुंच योग्य कोड के लिए प्रासंगिक नहीं है। | किसी असेंबली भाषा प्रोग्राम की निर्देश पथ की लंबाई आम तौर पर उस प्रोग्राम के लिए कोड की स्रोत लाइनों की संख्या से काफी भिन्न होती है, क्योंकि निर्देश पथ की लंबाई में दिए गए इनपुट के लिए निष्पादित नियंत्रण प्रवाह में केवल कोड शामिल होता है और इसमें वह कोड शामिल नहीं होता है जो विशेष इनपुट, या पहुंच योग्य कोड के लिए प्रासंगिक नहीं है। | ||
==उच्च स्तरीय भाषा (एचएलएल) कार्यक्रम== | ==उच्च स्तरीय भाषा (एचएलएल) कार्यक्रम== | ||
चूँकि उच्च-स्तरीय भाषा में लिखा गया | चूँकि उच्च-स्तरीय भाषा में लिखा गया कथन चर संख्या के कई मशीन निर्देश उत्पन्न कर सकता है, उदाहरण के लिए, निर्देश सेट सिम्युलेटर के बिना निर्देश पथ की लंबाई निर्धारित करना हमेशा संभव नहीं होता है{{snd}} जो सिमुलेशन के दौरान 'निष्पादित' निर्देशों की संख्या की गणना कर सकता है। यदि उच्च-स्तरीय भाषा 'असेंबली सूची' का समर्थन करती है और वैकल्पिक रूप से तैयार करती है, तो कभी-कभी इस सूची की जांच करके निर्देश पथ की लंबाई का अनुमान लगाना संभव होता है। | ||
==निर्देश पथ की लंबाई निर्धारित करने वाले कारक== | ==निर्देश पथ की लंबाई निर्धारित करने वाले कारक== | ||
Line 20: | Line 19: | ||
* एल्गोरिदम का चयन{{snd}} [[अनुक्रमित खोज]], बाइनरी खोज या जानवर-बल खोज|रैखिक (आइटम-दर-आइटम) खोज | * एल्गोरिदम का चयन{{snd}} [[अनुक्रमित खोज]], बाइनरी खोज या जानवर-बल खोज|रैखिक (आइटम-दर-आइटम) खोज | ||
* नए सिरे से गणना करें बनाम पहले की गई गणना को बरकरार रखें ([[संस्मरण]]){{snd}} कई जटिल पुनरावृत्तियों को कम कर सकता है | * नए सिरे से गणना करें बनाम पहले की गई गणना को बरकरार रखें ([[संस्मरण]]){{snd}} कई जटिल पुनरावृत्तियों को कम कर सकता है | ||
* कैश (कंप्यूटिंग) बनाम बाहरी हर बार नए सिरे से पढ़ें{{snd}} | * कैश (कंप्यूटिंग) बनाम बाहरी हर बार नए सिरे से पढ़ें{{snd}} ाधिक I/O फ़ंक्शन कॉल के माध्यम से उच्च पथ लंबाई से बचना | ||
==निर्देश पथ लंबाई का उपयोग== | ==निर्देश पथ लंबाई का उपयोग== | ||
उपरोक्त से, यह महसूस किया जा सकता है कि निर्देश पथ की लंबाई के ज्ञान का उपयोग किया जा सकता है: | उपरोक्त से, यह महसूस किया जा सकता है कि निर्देश पथ की लंबाई के ज्ञान का उपयोग किया जा सकता है: | ||
* किसी भी भाषा में प्रोग्राम के लिए समग्र पथ लंबाई को कम करने के लिए | * किसी भी भाषा में प्रोग्राम के लिए समग्र पथ लंबाई को कम करने के लिए उपयुक्त एल्गोरिदम चुनना | ||
* किसी प्रोग्राम का किसी भी भाषा में [[अनुकूलन (कंप्यूटर विज्ञान)]] कितना अच्छा रहा है, इसकी निगरानी करना | * किसी प्रोग्राम का किसी भी भाषा में [[अनुकूलन (कंप्यूटर विज्ञान)]] कितना अच्छा रहा है, इसकी निगरानी करना | ||
* यह निर्धारित करने के लिए कि किसी एचएलएल भाषा के लिए विशेष एचएलएल कथन कितने कुशल हैं | * यह निर्धारित करने के लिए कि किसी एचएलएल भाषा के लिए विशेष एचएलएल कथन कितने कुशल हैं |
Revision as of 23:40, 4 August 2023
कंप्यूटर प्रदर्शन में, निर्देश पथ की लंबाई कंप्यूटर प्रोग्राम के अनुभाग को निष्पादित करने के लिए आवश्यक मशीन कोड निर्देशों की संख्या है। पूरे प्रोग्राम के लिए कुल पथ लंबाई को किसी विशेष कंप्यूटर हार्डवेयर पर कलन विधि के प्रदर्शन का माप माना जा सकता है। साधारण सशर्त निर्देश की पथ लंबाई सामान्यतः 2 के बराबर मानी जाएगी,[citation needed] निर्देश तुलना करने का और दूसरा निर्देश विशेष शर्त पूरी होने पर शाखा लेने का। पथ की लंबाई निर्धारित करते समय प्रत्येक निर्देश को निष्पादित करने में लगने वाले समय को आम तौर पर ध्यान में नहीं रखा जाता है और इसलिए पथ की लंबाई किसी भी अर्थ में पूर्ण होने के बजाय सापेक्ष प्रदर्शन का संकेत मात्र है।
बेंचमार्क प्रोग्राम निष्पादित करते समय, अधिकांश निर्देश पथ की लंबाई आमतौर पर प्रोग्राम के आंतरिक लूप के अंदर होती है।
कैश (कंप्यूटिंग) की शुरुआत से पहले, पथ की लंबाई चलने के समय का अनुमान था, लेकिन कैश के साथ आधुनिक सीपीयू में, यह बहुत खराब अनुमान हो सकता है, जब डेटा कैश में नहीं होता है तो कुछ लोड निर्देश सैकड़ों चक्र लेते हैं, या कैश में होने पर तीव्रता के क्रम में तेजी से बढ़ते हैं (यहां तक कि लूप में दूसरे दौर में भी वही निर्देश)।
विधानसभा कार्यक्रम
चूँकि, आम तौर पर, असेंबली भाषा निर्देशों और मशीन निर्देशों के बीच -से- संबंध होता है, निर्देश पथ की लंबाई को अक्सर किसी फ़ंक्शन या कोड के विशेष अनुभाग को निष्पादित करने के लिए आवश्यक असेंबली निर्देशों की संख्या के रूप में लिया जाता है। 1,000 प्रविष्टियों की [[छँटाई एल्गोरिथ्म]] सूची पर साधारण लुकअप तालिका निष्पादित करने के लिए शायद 2,000 मशीन निर्देशों की आवश्यकता हो सकती है (औसतन, इनपुट मानों का समान वितरण मानते हुए), जबकि बाइनरी खोज एल्गोरिदम का उपयोग करके सॉर्टिंग सूची पर समान लुकअप करने के लिए केवल 40 मशीन निर्देशों की आवश्यकता हो सकती है, जो बहुत ही महत्वपूर्ण बचत है। निर्देश पथ की लंबाई के संदर्भ में व्यक्त, इस सॉफ्टवेयर मीट्रिक को इस उदाहरण में 50 के बड़े कारक से कम किया जाएगा – कारण यह है कि कम पथ लंबाई की आवश्यकता वाले एल्गोरिदम के अच्छे विकल्प की तुलना में वास्तविक निर्देश समय माध्यमिक विचार हो सकता है।
किसी असेंबली भाषा प्रोग्राम की निर्देश पथ की लंबाई आम तौर पर उस प्रोग्राम के लिए कोड की स्रोत लाइनों की संख्या से काफी भिन्न होती है, क्योंकि निर्देश पथ की लंबाई में दिए गए इनपुट के लिए निष्पादित नियंत्रण प्रवाह में केवल कोड शामिल होता है और इसमें वह कोड शामिल नहीं होता है जो विशेष इनपुट, या पहुंच योग्य कोड के लिए प्रासंगिक नहीं है।
उच्च स्तरीय भाषा (एचएलएल) कार्यक्रम
चूँकि उच्च-स्तरीय भाषा में लिखा गया कथन चर संख्या के कई मशीन निर्देश उत्पन्न कर सकता है, उदाहरण के लिए, निर्देश सेट सिम्युलेटर के बिना निर्देश पथ की लंबाई निर्धारित करना हमेशा संभव नहीं होता है – जो सिमुलेशन के दौरान 'निष्पादित' निर्देशों की संख्या की गणना कर सकता है। यदि उच्च-स्तरीय भाषा 'असेंबली सूची' का समर्थन करती है और वैकल्पिक रूप से तैयार करती है, तो कभी-कभी इस सूची की जांच करके निर्देश पथ की लंबाई का अनुमान लगाना संभव होता है।
निर्देश पथ की लंबाई निर्धारित करने वाले कारक
- इन-लाइन कोड बनाम सबरूटीन#इनलाइनिंग और समान कथन वाले फ़ंक्शन, प्रक्रिया या विधि से लौटना
- साहचर्य सरणी में वस्तुओं का क्रम – लंबी खोजों से बचने के लिए सबसे अधिक बार आने वाली वस्तुओं को पहले रखा जाना चाहिए
- एल्गोरिदम का चयन – अनुक्रमित खोज, बाइनरी खोज या जानवर-बल खोज|रैखिक (आइटम-दर-आइटम) खोज
- नए सिरे से गणना करें बनाम पहले की गई गणना को बरकरार रखें (संस्मरण) – कई जटिल पुनरावृत्तियों को कम कर सकता है
- कैश (कंप्यूटिंग) बनाम बाहरी हर बार नए सिरे से पढ़ें – ाधिक I/O फ़ंक्शन कॉल के माध्यम से उच्च पथ लंबाई से बचना
निर्देश पथ लंबाई का उपयोग
उपरोक्त से, यह महसूस किया जा सकता है कि निर्देश पथ की लंबाई के ज्ञान का उपयोग किया जा सकता है:
- किसी भी भाषा में प्रोग्राम के लिए समग्र पथ लंबाई को कम करने के लिए उपयुक्त एल्गोरिदम चुनना
- किसी प्रोग्राम का किसी भी भाषा में अनुकूलन (कंप्यूटर विज्ञान) कितना अच्छा रहा है, इसकी निगरानी करना
- यह निर्धारित करने के लिए कि किसी एचएलएल भाषा के लिए विशेष एचएलएल कथन कितने कुशल हैं
- समग्र कंप्यूटर प्रदर्शन के अनुमानित माप के रूप में