gpt4 book ai didi

memory-leaks - 禁用D的GC是 'ok'吗?

转载 作者:行者123 更新时间:2023-12-01 07:12:56 32 4
gpt4 key购买 nike

我正在为我创建的字节码制作解释器,它需要非常快,为此,我不希望 GC 成为瓶颈,所以我禁用了它,使用 GC.disable();
但是我经常在网上看到 D 的库需要 GC 存在,但我并没有使用太多的库,我的问题是,如果我使用以下模块中的以下内容,它是否需要 GC?:

  • to来自 std.conv
  • canFind来自标准算法
  • file.read来自标准文件
  • File来自 std.stdio

  • 我在程序中使用上述模块中的上述功能,前提是禁用 GC 是否安全?

    最佳答案

    您误解了禁用 GC 的作用。
    除非您从字面上编译出来,否则 GC 将始终可以通过例如使用新的。

    现在有一些关于 GC 工作原理的基础知识,当您分配新内存时,它必须确定它是否可以分配,如果不能,它必须尝试清理现有内存以便能够分配。因此,对于 D 的 GC,只要有分配,它就可以继续收集。现在禁用 GC 只是阻止它继续进行并在分配时进行收集。您始终可以手动煽动它这样做。

    对于解释器,只要您阻止分配(重用内存),您甚至不需要禁用 GC 以防止它减慢您的速度。所以请记住规则,“大”分配并重用该内存!

    关于memory-leaks - 禁用D的GC是 'ok'吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39136696/

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