কিছু তথ্য গ্লোবাল, স্ট্যাটিক বা স্ট্যাকের (এখানে কোনও গতিশীল বরাদ্দ নেই, সুতরাং স্তূপের কোনও ব্যবহার নেই) হবে কিনা তা সিদ্ধান্ত নিতে আমার সাধারণত সমস্যা হয় না। আমিও হিসাবে কয়েক Q একটি যেমন পড়েছেন / এই এক কিন্তু আমার প্রশ্ন আরো নির্দিষ্ট, যেহেতু এটি সিস্টেম মেমরি তুলনায় ডেটা, বিশাল বিপুল পরিমাণ জড়িত।
আমি একটি বিদ্যমান কোড কাজ করছি যা আমি উন্নত করার চেষ্টা করছি (ডিজাইন, সম্ভাব্য সমস্যা, পারফরম্যান্স ইত্যাদি)। এই কোডটি 4KB র্যামের সাথে পুরানো 8 বিট এমসিইউতে চলে । এই কোডটিতে আমি প্রায় 1KB (হ্যাঁ, 4KB র্যাম সিস্টেমে 1KB ) এর অ্যারের ব্যবহারের মুখোমুখি । এই অ্যারের প্রতিটি বাইট ব্যবহার করা হয়, এটি প্রশ্ন নয়। সমস্যাটি হ'ল এই অ্যারেটি যে ফাইলটিতে এটি ঘোষিত হয়েছে সেখানে স্থির অ্যারে, তাই এর জীবনচক্রটি প্রোগ্রামের মতো (যেমন অসীম হিসাবে বিবেচনা করা যেতে পারে) is
যাইহোক, কোডটি পড়ার পরে, আমি কেবলমাত্র জানতে পেরেছিলাম যে এই অ্যারেটির কোনও অসীম জীবনচক্রের প্রয়োজন নেই, এটি তৈরি করা হয়েছে এবং সম্পূর্ণ পদ্ধতিগত পদ্ধতিতে মোকাবেলা করা হয়েছে, সুতরাং আমাদের কেবল এটি ব্যবহৃত ফাংশনটিতে এটি ঘোষণা করতে সক্ষম হতে হবে, এইভাবে এটি স্ট্যাকের উপর থাকবে এবং আমরা অতএব র্যামের এই 1 কেবি সংরক্ষণ করব।
এখন প্রশ্ন: এটি একটি ভাল ধারণা হবে? ডিজাইনের দৃষ্টিকোণ থেকে যদি এটির জন্য যদি অসীম / গ্লোবাল লাইফসাইকেলের প্রয়োজন না হয় তবে এটি স্ট্যাকের অন্তর্ভুক্ত। তবে আরে, 4KB এর মধ্যে 1KB, র্যামের 25% এর মতো বরাদ্দ করার কোনও অসুবিধা নেই? (এটি স্ট্যাকের 50% বা তার বেশি হতে পারে)
কেউ কি এই ধরণের পরিস্থিতির সাথে কিছু অভিজ্ঞতা ভাগ করে নিতে পারেন, বা কেউ এই বৈধতাটিকে স্ট্যাকের মধ্যে না রাখার কোনও বৈধ কারণ সম্পর্কে ভাবেন? আমি প্রযুক্তিগত ত্রুটিগুলি পাশাপাশি ডিজাইনে মন্তব্যগুলি খুঁজছি।
আমি সচেতন একমাত্র জিনিস হ'ল এই ফাংশনটি প্রবেশ করার সময় আমাকে অবশ্যই নিশ্চিত করতে হবে যে আমার কাছে আসলে 1KB স্ট্যাক ফ্রি আছে। আমার যত্ন নিতে হবে এমনই হতে পারে, সম্ভবত না।