Что быстрее: выделение стека или выделение кучи

Стек намного быстрее. В большинстве 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

2022-11-21T12:22:27+00:00