ループの反復ごとに大きなヒープ メモリのチャンクを割り当てると、パフォーマンスが大幅に低下しますか? もちろん、各反復の終わりに解放します。
別の方法は、ループに入る前に一度割り当て、すべての反復で繰り返し使用し、最終的にループを終了した後に解放することです。以下のコードを参照してください。
// allocation inside loop
for(int i = 0; i < iter_count; i++) {
float *array = new float[size]();
do_something(array);
delete []array;
}
// allocation outside loop
float *array = new float[size]();
for(int i = 0; i < iter_count; i++) {
do_something(array);
}
delete []array;