如果我知道某个值可能会在第一次遇到垃圾收集器时存活下来,有没有办法让GHC知道,所以它可以直接在托儿所外的某个地方分配它?例如,如果我用一堆较小的碎片构建一个大型结构,我知道每个碎片至少会持续到整个结构完成。
答案 0 :(得分:23)
在the GHC garbage collector中,没有用于暗示应该分配对象的生成的钩子。但是,您可以通过以下几种方式利用操作行为:
根据数据类型,您可以利用the pinned object regio n完全绕过世代阶段。
利用eager promotion确保长寿对象被长寿的东西指出......
将数据设为a CAF并完全绕过动态分配。