gpt4 book ai didi

c++ - 使用 malloc() 强制垃圾收集/压缩

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:37 25 4
gpt4 key购买 nike

我有一个 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) 处的空闲列表中的相邻空内存块。

最佳答案

如果您希望测试运行以相同的堆状态开始,您可以在由 fork() 创建的它们自己的进程中运行它们。

关于c++ - 使用 malloc() 强制垃圾收集/压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com