Современные компьютеры имеют несколько уровней кэш-памяти в дополнение к большой, но медленной системе основной памяти. Можно сделать десятки обращений к самой быстрой кэш-памяти за время, необходимое для чтения или записи одного байта из системы основной памяти. Таким образом, доступ к одному местоположению в тысячу раз намного быстрее, чем доступ к 1000 (или даже 100) независимым местоположениям по одному. Поскольку большинство приложений многократно выделяют и освобождают небольшие объемы памяти вблизи вершины стека, места на вершине стека используются и используются повторно в огромном количестве, так что подавляющее большинство (более 99% в типичном приложении) доступ к стеку может быть обработан с использованием кеш-памяти.
В противоположность этому, если бы приложение неоднократно создавало и оставляло объекты кучи для хранения информации о продолжении, каждая версия каждого стекового объекта, который когда-либо создавался, должна была бы быть записана в основную память. Даже если к тому времени подавляющее большинство таких объектов станет бесполезным, когда ЦП захочет переработать страницы кеша, с которых они начали, ЦП не будет знать об этом. Следовательно, ЦП пришлось бы тратить много времени на медленную запись в память бесполезной информации. Не совсем рецепт скорости.
Еще одна вещь, которую следует учитывать, это то, что во многих случаях полезно знать, что ссылка на объект, переданная подпрограмме, не будет использоваться после выхода из подпрограммы. Если параметры и локальные переменные передаются через стек, и если проверка кода подпрограммы показывает, что она не сохраняет копию переданной ссылки, то код, вызывающий подпрограмму, может быть уверен, что если нет внешней ссылки на объект существовал до вызова, ни один не будет существовать после. В отличие от этого, если параметры передавались через объекты кучи, такие понятия, как «после возврата подпрограммы», становятся несколько более туманными, поскольку, если код сохранил копию продолжения, подпрограмма могла бы «возвращать» более одного раза после одиночный звонок.