Предположим, что есть функция, которую мне нужно вызвать миллионы раз. Арифметические операции, выполняемые этой функцией, не так тяжелы, поэтому важно только, как быстро распределяются все переменные. Также мы предполагаем, что переменная всегда выделяется в стеке. Простейший случай пример:Оптимизация часто вызываемой функции с большими локальными переменными (C++)
void doSomething(){
int aReallyLargeVariable[10000];
...performing a few light operations on that variable and returning nothing...
}
Я знаю, что когда функция возвращает все это переменные уничтожаются, так
не было бы лучше, чтобы кэшировать эту переменную, делая его статическим или глобальным? Какой был бы лучший способ его оптимизировать?
Сделать переменную параметром функции и использовать одну и ту же переменную для многих вызовов функций? – rozina
Является ли функция, называемая рекурсивно или одновременно? –
И - поскольку вы уже знаете об альтернативных проектах, можете ли вы поделиться своими результатами тестов с результатами сравнений, которые вы наверняка уже выполнили? –