さまざまな長さの入力配列でさまざまなアルゴリズムをベンチマークするC++プログラムがあります。それは多かれ少なかれこのように見えます:
# (1)
for k in range(4..20):
# (2)
input = generate 2**k random points
for variant in variants:
benchmark the following call
run variant on input array
# (3)
(2)のヒープ管理全体を(1)の状態にリセットすることは可能ですか?プログラム中に割り当てられたヒープに割り当てられたすべてのメモリは、(3)で解放されることが保証されています。
Linuxでg++4.3を使用しています。
編集:C /C++には実際のガベージコレクションがないことを理解しています。(2)の空きリストにある隣接する空のメモリチャンクにメモリ割り当てを強制的に結合させたい。