यह आप में से कुछ के लिए एक अजीब सवाल की तरह लग सकता है।
मैं एक शौक़ीन जावा प्रोग्रामर हूँ। मैंने कई गेम विकसित किए हैं, एक एआई प्रोग्राम जो संगीत बनाता है, पेंटिंग के लिए एक और प्रोग्राम और इसी तरह का सामान। यह आपको बताना है कि मुझे प्रोग्रामिंग में अनुभव है, लेकिन व्यावसायिक अनुप्रयोगों के पेशेवर विकास में नहीं।
मुझे इस साइट पर प्रदर्शन के बारे में बहुत सारी बातें दिखती हैं। लोग अक्सर बहस करते हैं कि किसी कार्य को करने के लिए C # में सबसे कुशल एल्गोरिदम क्या होगा, या पायथन धीमा क्यों है और जावा तेज है आदि।
जो मैं समझने की कोशिश कर रहा हूं वह यह है: यह बात क्यों है?
कंप्यूटिंग के विशिष्ट क्षेत्र हैं जहां मैं देखता हूं कि प्रदर्शन क्यों मायने रखता है: खेल, जहां दसियों हजारों संगणनाएं निरंतर-अपडेट लूप में हर सेकंड हो रही हैं, या निम्न स्तर की प्रणालियां जो अन्य कार्यक्रमों पर निर्भर करती हैं, जैसे कि ओएस और वीएम, आदि।
लेकिन सामान्य, विशिष्ट उच्च-स्तरीय व्यावसायिक ऐप के लिए, प्रदर्शन क्यों मायने रखता है?
मैं समझ सकता हूं कि दशकों पहले यह क्यों मायने रखता था। कंप्यूटर बहुत धीमे थे और उनकी मेमोरी बहुत कम थी, इसलिए आपको इन बातों पर ध्यान से सोचना चाहिए।
लेकिन आज, हमारे पास स्पेयर करने के लिए इतनी मेमोरी है और कंप्यूटर बहुत तेज़ हैं: क्या यह वास्तव में मायने रखता है अगर एक विशेष जावा एल्गोरिथ्म हे (एन ^ 2)? क्या यह वास्तव में इस विशिष्ट व्यवसाय ऐप के अंतिम उपयोगकर्ताओं के लिए एक अंतर होगा?
जब आप किसी विशिष्ट व्यवसाय ऐप में एक GUI बटन दबाते हैं, और पर्दे के पीछे यह एक हे (n ^ 2) एल्गोरिदम, आधुनिक कंप्यूटिंग के इन दिनों में - क्या आप वास्तव में अक्षमता महसूस करते हैं?
मेरा प्रश्न दो में विभाजित है:
- व्यवहार में, आज एक सामान्य सामान्य व्यावसायिक कार्यक्रम में प्रदर्शन मायने रखता है?
- यदि ऐसा होता है, तो कृपया मुझे इस तरह के एप्लिकेशन में वास्तविक दुनिया के उदाहरण दें, जहां प्रदर्शन और अनुकूलन महत्वपूर्ण हैं।