gpt4 book ai didi

haskell - 在 Haskell 中识别函数的当前 HEC

转载 作者:行者123 更新时间:2023-12-04 20:17:56 25 4
gpt4 key购买 nike

我正在使用 Strategies 编写一个并行的 Haskell 程序。它没有做它应该做的事情,我想检查一个函数是在哪个 Haskell 执行上下文 (HEC) 中执行的。

是否有我可以在调试输出中使用的 getHEC 调用或类似的调用?

最佳答案

您可以通过调用 threadCapability 找出运行 Haskell 线程的功能(即 CPU 内核)。来自 Control.Concurrent .

如果您使用 +RTS -N 运行您的程序,每个内核将产生一个操作系统级线程 (HEC),因此 threadCapability 返回的功能编号会告诉你是哪个操作系统线程你的 forkIO绿色线程正在运行。但是,如果您使用 +RTS -Nn 明确指定操作系统线程数,其中 n是除系统内核数之外的某个整数,这对您来说可能不太有用。

您可能还会找到 ThreadScope可用于调试和可视化并行程序的执行。

关于haskell - 在 Haskell 中识别函数的当前 HEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105127/

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