The analyzer has detected a construct that could be optimized. A memory block of the same size is allocated and released multiple times inside a loop body. To increase the program's performance, take the code performing memory allocation and release out of the loop into a separate code block.
Consider the following example:
for (int i = 0; i < N; i++) { int *arr = new int[1024 * 1024]; SetValues(arr); val[i] = GetP(arr); delete [] arr; }
Memory allocation and release can be taken out of the loop and implemented as a separate code block.
Improved code:
int *arr = new int[1024 * 1024]; for (int i = 0; i < N; i++) { SetValues(arr); val[i] = GetP(arr); } delete [] arr;
Similarly, the analyzer may suggest optimizing code where memory is allocated using function 'malloc' and the like.