Могут ли статические локальные переменные сократить время выделения памяти?

Предположим, у меня есть функция в однопоточной программе, которая выглядит так

void f(some arguments){
    char buffer[32];
    some operations on buffer;
}

, а f появляется внутри некоторого цикла, который часто вызывается, поэтому я хотел бы сделать это как можно быстрее. Мне кажется, что буфер должен выделяться каждый раз, когда вызывается f, но если я объявлю его статическим, этого не произойдет. Это правильное рассуждение? Это бесплатное ускорение? И только из-за этого факта (это легкое ускорение), делает ли оптимизирующий компилятор что-то подобное для меня?

14
задан pythonic metaphor 16 September 2010 в 19:21
поделиться