首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要使用GHC选项-V0?

为什么要使用GHC选项-V0?
EN

Stack Overflow用户
提问于 2022-07-28 21:32:07
回答 1查看 157关注 0票数 0

根据ghc运行时控制文档,如果使用-V0选项,则会禁用计时器信号。

有人能解释一下你为什么要做这样的事吗?

例:ghc +RTS -V0 -RTS -rtsopts -O2 -o Solution Solution.hs

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 22:46:25

文档的最后一段提示了一个可能的原因:上下文切换变得确定性,这可以帮助调试。

-V⟨secs⟩默认值: 0.02 设置RTS时钟滴答的时间间隔,也就是时间和分配配置文件的采样间隔。缺省值为0.02秒。运行时使用单个计时器信号来计数滴答数;这个定时器信号用于控制上下文切换定时器(使用并发Haskell)和堆分析计时器RTS选项。此外,时间分析器使用RTS定时器信号直接记录时间分析样本。 通常,直接设置-V⟨secs⟩选项是不必要的:如果使用-C⟨的⟩或-i⟨secs⟩选项请求较短的间隔,则会自动调整RTS计时器的分辨率。但是,为了提高时间分析器的分辨率,需要设置-V⟨secs⟩。 使用零值将完全禁用RTS时钟,并且会禁用依赖它的定时器:上下文切换定时器和堆分析定时器。上下文切换仍然会发生,但决定性地和速度要比正常快得多。禁用间隔计时器对于调试非常有用,因为它消除了运行时的不确定源。

我想,使用-V0还可以使SIGALRM / SIGVTALRM对应用程序可用。通常这是由运行时系统保留的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73159407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档