Что быстрее: выделение стека или выделение кучи
Стек намного быстрее. В большинстве stacks случаев он буквально использует memory только одну инструкцию на faster большинстве архитектур, например. на cxx x86:
sub esp, 0x10
(Это перемещает указатель efficiency стека вниз на 0x10 байт и android-performance тем самым «выделяет» эти cxx байты для использования переменной.)
Конечно, размер cpp стека очень и очень конечен, так performance-tuning как вы быстро обнаружите, злоупотребляете performance-tuning ли вы выделением стека или cxx пытаетесь сделать рекурсию slow :-)
Кроме того, нет особых faster причин оптимизировать производительность efficiency кода, который явно не нуждается efficiency в этом, как это было продемонстрировано memory профилированием. «Преждевременная perfomance оптимизация» часто вызывает heap-memory больше проблем, чем пользы.
Мое heap-memory эмпирическое правило: если c++ я знаю, что мне понадобятся tuning какие-то данные во время компиляции, и их размер faster меньше нескольких сотен байт, я speed размещаю их в стеке. В противном speed случае я размещаю его в куче.
c++
performance
memory
stack
heap-memory
Что быстрее: выделение стека или выделение кучи
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.