আধুনিক কম্পিউটারগুলিতে একটি বৃহত, তবে ধীর, প্রধান মেমরি সিস্টেম ছাড়াও ক্যাশে মেমরির কয়েকটি স্তর রয়েছে। প্রধান মেমরি সিস্টেম থেকে একটি বাইট পড়তে বা লিখতে প্রয়োজনীয় সময়ে যে কেউ দ্রুত গতিতে ক্যাশে মেমরির কয়েক ডজন অ্যাক্সেস করতে পারে। সুতরাং, এক হাজার স্থানে এক জায়গায় অ্যাক্সেস করা একবারে একবারে 1,000 (বা এমনকি 100) স্বতন্ত্র অবস্থানগুলি অ্যাক্সেস করার চেয়ে অনেক দ্রুত is যেহেতু বেশিরভাগ অ্যাপ্লিকেশন বারবার স্ট্যাকের শীর্ষের কাছাকাছি অল্প পরিমাণে মেমরি বরাদ্দ করে এবং হ্রাস করে, স্ট্যাকের শীর্ষে অবস্থানগুলি ব্যবহার করে এবং প্রচুর পরিমাণে পুনরায় ব্যবহার করা হয়, যেমন বিশাল সংখ্যাগরিষ্ঠ (একটি সাধারণ অ্যাপ্লিকেশনে 99% +) স্ট্যাক অ্যাক্সেসের ক্যাশে মেমরি ব্যবহার করে পরিচালনা করা যায়।
বিপরীতে, যদি কোনও অ্যাপ্লিকেশন বারবার ক্রমাগত তথ্য সংরক্ষণের জন্য হ্যাপ অবজেক্টগুলি তৈরি এবং বর্জন করে, তবে তৈরি করা প্রতিটি স্ট্যাক অবজেক্টের প্রতিটি সংস্করণ মূল স্মৃতিতে লিখতে হবে। এমনকি সিপিইউ যে ক্যাশে পৃষ্ঠাগুলি শুরু করেছিল সেগুলি পুনর্ব্যবহার করতে চাইলে এই জাতীয় সামগ্রীর বিশাল সংখ্যাগরিষ্ঠতা সম্পূর্ণরূপে অকেজো হয়ে যায়, তবে সিপিইউ এটি জানার উপায় রাখে না। ফলস্বরূপ, সিপিইউকে অজস্র তথ্য লিখতে ধীর মেমরি করতে প্রচুর সময় নষ্ট করতে হবে। গতির সঠিক রেসিপি নয়।
আরেকটি বিষয় বিবেচনা করতে হবে তা হ'ল অনেক ক্ষেত্রে এটি জেনে রাখা কার্যকর যে কোনও রুটিনে পাস করা কোনও অবজেক্ট রেফারেন্স রুটিনটি প্রস্থান করার পরে ব্যবহৃত হবে না। যদি প্যারামিটার এবং স্থানীয় ভেরিয়েবলগুলি স্ট্যাকের মধ্য দিয়ে পাস করা হয়, এবং যদি রুটিনের কোডটি পরীক্ষা করে দেখা যায় যে এটি পাস-ইন রেফারেন্সের অনুলিপি ধরে রাখে না, তবে যে কোডটি রুটিন বলে তাকে নিশ্চিত হতে পারে যে যদি কোনও বাইরের রেফারেন্স নেই তবে কলটির আগে অবজেক্টের অস্তিত্ব ছিল, পরে কোনওটির অস্তিত্ব থাকবে না। এর বিপরীতে, যদি পরামিতিগুলি হিপ অবজেক্টগুলির মধ্য দিয়ে চলে যায়, "রুটিন রিটার্নের পরে" এর মতো ধারণাগুলি আরও কিছুটা দুর্বল হয়ে পড়ে, যেহেতু কোড যদি ধারাবাহিকতার একটি অনুলিপি রাখে, তবে রুটিনের পক্ষে একবার অনুসরণ করার চেয়ে একবারে "ফিরে" আসা সম্ভব হবে একক কল