Сучасні комп’ютери мають кілька шарів кеш-пам'яті на додаток до великої, але повільної основної системи пам'яті. Можна зробити десятки доступу до найшвидшого кеш-пам'яті за час, необхідний для читання або запису одного байта з основної системи пам'яті. Таким чином, отримати доступ до однієї локації в тисячу разів набагато швидше, ніж отримати доступ до 1000 (або навіть 100) незалежних місць один раз у кожному. Оскільки більшість програм неодноразово виділяють і розміщують невеликий обсяг пам’яті біля верхньої частини стека, локації у верхній частині стека звикають і повторно використовують величезну кількість, так що переважна більшість (99% + у типовому додатку) Доступ до стеку може бути оброблений за допомогою кеш-пам'яті.
На противагу цьому, якщо програма мала б неодноразово створювати та відмовлятися від купових об'єктів для зберігання інформації про продовження, кожна версія будь-якого створеного об’єкта стека повинна бути записана в основну пам'ять. Навіть якби переважна більшість таких об'єктів були б абсолютно марними до того моменту, як ЦП хотів переробити сторінки кешу, в яких вони починалися, ЦП не знав би цього. Отже, процесору доведеться витрачати багато часу, виконуючи повільні записи пам'яті непотрібної інформації. Не зовсім рецепт швидкості.
Інша річ, яку слід врахувати, полягає в тому, що в багатьох випадках корисно знати, що посилання на об'єкт, переданий підпрограму, не буде використана після виходу з програми. Якщо параметри та локальні змінні передаються через стек і якщо перевірка коду програми виявляє, що він не зберігає копію переданого посилання, то код, який викликає процедуру, може бути впевнений, що якщо немає зовнішніх посилань на Об'єкт існував до виклику, після цього жодного не буде. Навпаки, якби параметри передавалися через купі об’єктів, поняття на кшталт "після повернення звичайної програми" стають дещо туманнішими, оскільки якби код зберігав копію продовження, програма може "повернути" більше одного разу після разовий дзвінок.