अच्छे पुराने दिनों को याद रखें जब एक साधारण दस्तावेज़ या वेब पेज खोलना बहुत धीमी गति से होता था क्योंकि यह आपके कंप्यूटर में मौजूद सभी अल्प संसाधनों को खोखला कर देता था? और आज, वही करना और भी धीमा है, जबकि आपका प्रोसेसर सैकड़ों गुना तेज होने और हजारों गुना अधिक मेमोरी तक पहुंचने के बावजूद?
वर्तमान दस्तावेज़ दर्शकों और इसी तरह के अनुप्रयोगों में ब्लोट के प्रभाव का अनुकरण करने के लिए, एक प्रोग्राम लिखें , जिसमें अधिक शक्तिशाली मशीनों पर चलने पर प्रदर्शन की समस्याएं दिखाई दें ।
सभी के लिए एक समान कार्य करने के लिए, इसे एक प्राइम नंबर जनरेटर बनाएं ।
- कार्यक्रम को लगातार प्रमुख संख्याओं को प्रिंट करना है, 2 से शुरू, प्रत्येक एक नई पंक्ति में, और कुछ नहीं। यह हमेशा के लिए होना चाहिए (या स्मृति से बाहर चलने तक)। ऐशे ही:
2 3 5 7 11 13 17
प्रत्येक पंक्ति को मुद्रित करने के बीच एक देरी होनी चाहिए, एक मानव द्वारा विचार करने योग्य होने के लिए पर्याप्त है।
यह विलंब अधिक लंबा होना चाहिए क्योंकि मशीन जिस प्रोग्राम पर चल रही है वह तेज हो जाती है। मशीन जितनी तेज होगी, प्रोग्राम उतना ही धीमा होगा।
मैं सटीक मानदंड निर्दिष्ट नहीं करूंगा क्योंकि यह व्यक्तिपरक हो सकता है, लेकिन दो मशीनों के प्रदर्शन के बीच महत्वपूर्ण अंतर होने पर दो अलग-अलग मशीनों की गति में एक मानव-विचारशील अंतर होना चाहिए।
प्रोग्राम की गति को कभी भी बनाए गए सभी मौजूदा मशीनों में कम नहीं होना चाहिए। यह निर्दिष्ट करना कठिन होगा, और सत्यापन के लिए भी कठिन होगा। मुझे प्रतियोगियों के सामान्य ज्ञान पर भरोसा है कि मशीनों के बीच काफी अलग प्रदर्शन माना जा सकता है , और यह संतुष्ट करने के लिए पर्याप्त है।
मैं सटीक ऊपरी या निम्न समय सीमाएँ भी निर्दिष्ट नहीं करूंगा, लेकिन यह उचित सीमाओं के तहत होनी चाहिए, इसलिए कृपया दो पंक्तियों को मुद्रित करने के बीच कोई दिन या वर्ष नहीं।
मुझे इसे एनियाक से आधुनिक दिन तक सब कुछ चलाने की आवश्यकता नहीं होगी, लेकिन यह सामान्य रूप से पर्याप्त होना चाहिए, उदाहरण के लिए, यह कहने की अनुमति नहीं है कि यह केवल दो विशिष्ट सीपीयू प्रकारों पर काम करता है, और विशेष रूप से एक विशिष्ट सीपीयू के नाम का पता लगाता है जिस पर यह धीमी या तेज चलेगी।
कोड को संकलक या दुभाषिया संस्करण पर भरोसा नहीं करना चाहिए। यह काम करना चाहिए यदि कंपाइलर / दुभाषिया का एक ही संस्करण धीमा और तेज मशीन दोनों पर स्थापित किया गया है, या यहां तक कि अगर बाइनरी / बायटेकोड एक मशीन पर संकलित किया गया है और फिर दो अलग-अलग मशीनों पर चलता है।
कृपया सिद्धांतों को स्पष्ट करें कि आपका कार्यक्रम कैसे संचालित हो रहा है। चूंकि परिणामों को पुन: प्रस्तुत करना मुश्किल होगा, इसलिए उत्तर की वैधता विधि की व्यवहार्यता पर निर्भर हो सकती है।
हालाँकि मुझे यह पसंद आया होगा कि यह एक अंतर्विरोधी प्रतियोगिता बन गई है, दुख की बात यह है कि यह साइट अब "प्रोग्रामिंग पजल्स एंड कोड गोल्फ" नहीं है, बल्कि सिर्फ "कोड गोल्फ" है, इसलिए सबसे छोटा कोड जीतता है।