現在コードに取り組んでいると、以前はmalloc
複数回 (約 1,000 万回の呼び出し) 呼び出され、毎回小さなチャンク (約 10 バイト) が割り当てられていたことに気付きました。
コードを少し変更し、malloc
1,000 万回呼び出す代わりに、 malloc
10 回呼び出して、毎回大量のメモリ (1,000 万バイト) を割り当てます。
この変更により、コードのピーク メモリ消費量が ~15 GB から ~14 GB に変化したことに気付きました。
なぜこうなった?malloc
呼び出しごとに余分なチャンクを割り当てますか?