शेल उनके द्वारा सौंपे गए कोड का कोई पुनर्गठन नहीं करते हैं, यह सिर्फ एक पंक्ति के बाद दूसरे की व्याख्या की जाती है (कमांड इंटरप्रेटर में और कुछ नहीं करता है)। शेल द्वारा बिताया गया अधिकांश समय लेक्सिकल विश्लेषण / पार्सिंग / लॉन्चिंग कार्यक्रमों को जाता है।
सरल ऑपरेशनों के लिए (जैसे प्रश्न के अंत में उदाहरणों में स्ट्रिंग्स को गूंथते हुए) यदि प्रोग्राम को लोड करने का समय किसी भी मामूली गति के अंतर को नहीं बदलता है तो मुझे आश्चर्य होगा।
कहानी की नैतिकता यह है कि यदि आपको वास्तव में अधिक गति की आवश्यकता है, तो आप पर्ल या पाइथन जैसी एक (अर्ध) संकलित भाषा के साथ बेहतर हैं, जिसे शुरू करने के लिए चलाने के लिए तेज़ है, जिसमें आप सीधे उल्लिखित कई ऑपरेशन लिख सकते हैं और बाहरी कार्यक्रमों को कॉल करने की आवश्यकता नहीं है, और बाहरी कार्यक्रमों को लागू करने या अनुकूलित सी (या जो भी) मॉड्यूल को काम करने के लिए कॉल करने का विकल्प है। यही कारण है कि फेडोरा में "सिस्टम एडमिनिस्ट्रेशन शुगर" (GUIs, अनिवार्य रूप से) पायथन में लिखे गए हैं: बहुत अच्छे प्रयास के साथ एक अच्छा GUI नहीं जोड़ सकते हैं, ऐसे अनुप्रयोगों के लिए पर्याप्त तेज़, सिस्टम कॉल तक सीधी पहुंच है। यदि वह पर्याप्त गति नहीं है, तो C ++ या C को पकड़ो।
लेकिन वहां मत जाओ, जब तक आप यह साबित नहीं कर सकते कि प्रदर्शन लाभ लचीलापन और विकास के समय में नुकसान के लायक है। शेल स्क्रिप्ट पढ़ने के लिए बहुत खराब नहीं हैं, लेकिन जब मुझे याद आता है कि मुझे कुछ ऐसे स्क्रिप्ट याद हैं जो अल्ट्रिक्स को स्थापित करने के लिए उपयोग किए जाते हैं तो मैंने एक बार समझने की कोशिश की। मैंने छोड़ दिया, बहुत अधिक "शेल स्क्रिप्ट अनुकूलन" लागू किया गया था।