gpt4 book ai didi

haskell - Haskell程序的-hc配置文件中PINNED是什么意思?

转载 作者:IT王子 更新时间:2023-10-28 23:29:22 25 4
gpt4 key购买 nike

我正在尝试分析我的应用程序。在使用 -hc RTS 选项分析内存使用情况时,我注意到很多内存标记为 PINNED。当使用 -hy 运行时,内存被标记为 ARR_WORDS

该程序使用 hmatrix 包中的 Data.Packed.Matrix 模块创建一个 2400×2400 的 double 矩阵,并且由于其中的元素应该存储在连续内存中,我没有看到矩阵占用这么多空间的方式。

enter image description here

我的问题是:PINNED 这个词实际上是什么意思?还有没有办法获得有关为什么以及在何处使用内存的更多信息?

有问题的整个源代码是on GitHub ,是否有人对此感兴趣。然而,它远非最小的例子。

最佳答案

“固定”数据意味着不允许垃圾收集器移动它。例如,这有助于通过 FFI 将数据传递给 C 函数。您不希望 GC 在 C 调用执行时移动数据。

Soylet Green 在上面提供了相关链接 (https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/GC/Pinned)。

关于haskell - Haskell程序的-hc配置文件中PINNED是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478805/

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