পুরানো দিনগুলি স্মরণ করুন যখন কোনও সাধারণ দস্তাবেজ বা ওয়েব পৃষ্ঠা খোলার সময় যন্ত্রণাজনকভাবে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধুলিয়ে আনতে পারত। এবং আপনার প্রসেসর কয়েকগুণ দ্রুত গতিতে থাকা এবং কয়েক হাজার গুণ বেশি স্মৃতিতে অ্যাক্সেস থাকা সত্ত্বেও, একই কাজটি আরও ধীর গতির?
বর্তমান নথি দর্শকদের এবং অনুরূপ অ্যাপ্লিকেশনগুলিতে ব্লোটের প্রভাব অনুকরণ করতে, এমন একটি প্রোগ্রাম লিখুন যা আরও শক্তিশালী মেশিনে চালিত হওয়ার সময় দৃশ্যমান পারফরম্যান্সে সমস্যা রয়েছে ।
সবার সাধারণ কাজ করার জন্য, এটিকে একটি প্রধান সংখ্যা জেনারেটর করুন make ।
- প্রোগ্রামটিতে পরের মৌলিক সংখ্যাগুলি 2 থেকে শুরু করে প্রতিটি নতুন লাইনে প্রিন্ট করতে হবে এবং অন্য কিছুই নয়। এটি চিরকালের জন্য হওয়া উচিত (বা স্মৃতি শেষ না হওয়া পর্যন্ত)। এটার মত:
2 3 5 7 11 13 17
প্রতিটি লাইন মুদ্রণের মধ্যে একটি বিলম্ব হওয়া উচিত, যা কোনও মানুষের দ্বারা উপলব্ধিযোগ্য।
প্রোগ্রামটি যে মেশিনটিতে চলছে সেটি দ্রুত হওয়ার সাথে সাথে এই বিলম্বটি আরও দীর্ঘ হওয়া উচিত। মেশিনটি তত দ্রুত, প্রোগ্রামটি ধীরে ধীরে।
আমি যথাযথ মানদণ্ড নির্দিষ্ট করতে পারব না কারণ এটি ব্যক্তিগত হতে পারে তবে দুটি মেশিনের পারফরম্যান্সের মধ্যে উল্লেখযোগ্য পার্থক্য থাকলে দুটি ভিন্ন মেশিনের গতিতে একটি মানব-অনুভূত পার্থক্য থাকতে হবে।
প্রোগ্রামটির গতি এককভাবে তৈরি হওয়া সমস্ত বিদ্যমান মেশিন জুড়ে হ্রাস করতে হবে না। এটি নির্দিষ্ট করা শক্ত এবং যাচাই করা আরও কঠিন। আমি মেশিনগুলির মধ্যে একটি উল্লেখযোগ্যভাবে ভিন্ন পারফরম্যান্স হিসাবে বিবেচনা করা যেতে পারে সম্পর্কে প্রতিযোগীদের সাধারণ জ্ঞানকে বিশ্বাস করি এবং এটি সন্তুষ্ট করার জন্য যথেষ্ট।
আমি সঠিক ওপরের বা নিম্ন সময়ের সীমাটিও নির্দিষ্ট করব না, তবে এটি যুক্তিসঙ্গত সীমার অধীনে হওয়া উচিত, সুতরাং দয়া করে দুটি লাইন প্রিন্ট করার মধ্যে কোনও দিন বা বছর থাকবে না।
এনিয়াক থেকে আধুনিক সময়ের জন্য আমার এটি চালানোর দরকার পড়বে না, তবে এটি যথেষ্ট সাধারণ হওয়া উচিত, উদাহরণস্বরূপ, এটি কেবল দুটি নির্দিষ্ট সিপিইউ টাইপের ক্ষেত্রে কাজ করে এবং এটি নির্দিষ্ট করে একটি নির্দিষ্ট সিপিইউর নাম সনাক্ত করে এটির অনুমতি দেওয়া হয় না যার উপর এটি ধীর বা দ্রুত চলবে।
কোডটি সংকলক বা দোভাষী দের উপর নির্ভর করা উচিত নয়। কমলার এবং ইন্টারপ্রেটারের একই সংস্করণটি ধীর এবং দ্রুত উভয় মেশিনে ইনস্টল করা থাকলে বা বাইনারি / বাইটকোড একটি মেশিনে সংকলিত হয়ে দুটি আলাদা মেশিনে চালিত হয় তবে এটি কাজ করা উচিত।
আপনার প্রোগ্রামটি কীভাবে পরিচালিত হচ্ছে তার নীতিগুলি ব্যাখ্যা করুন। যেহেতু ফলাফলগুলি পুনরুত্পাদন করা কঠিন হবে, উত্তরের বৈধতা পদ্ধতির সম্ভাব্যতার উপর নির্ভর করতে পারে।
যদিও আমি এটি একটি অন্তর্নিহিত প্রতিযোগিতায় পরিণত হতে পছন্দ করতাম, দুঃখের বিষয় এই সাইটটি আর "প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ" নয় বরং কেবল "কোড গল্ফ", সুতরাং সংক্ষিপ্ততম কোডটি জয়ী হয়।