Анализатор обнаружил конструкцию, которую можно оптимизировать. Блок памяти одного и того же размера выделяется и освобождается в теле цикла множество раз. В этом случае можно вынести выделение и освобождение памяти из цикла, что повысит производительность программы.
Рассмотрим пример неэффективного кода:
for (int i = 0; i < N; i++) { int *arr = new int[1024 * 1024]; SetValues(arr); val[i] = GetP(arr); delete [] arr; }
Здесь можно вынести выделение и освобождение памяти из тела цикла.
Улучшенный вариант кода:
int *arr = new int[1024 * 1024]; for (int i = 0; i < N; i++) { SetValues(arr); val[i] = GetP(arr); } delete [] arr;
Аналогично анализатор может предложить оптимизировать код при выделении памяти с помощью функции 'malloc' и т.п.