You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haskell运行时统计出现负生产率及MUT值为0问题咨询

问题1:负生产率的产生原因

GHC RTS的生产率计算公式为 (总用户CPU时间 - GC累计CPU时间) / 总用户CPU时间 * 100%。你开启了-N3参数启用3核心并行GC,统计结果中的GC时间是3个核心各自运行GC的CPU时间总和,而非单核心时间。本次统计中GC累计CPU时间达到41009s,远高于进程总用户CPU时间的5072s,代入公式后分子为负,最终得到负的生产率数值,这是并行GC场景下统计口径差异导致的正常现象。

问题2:运行正常但MUT值为0的产生原因

MUT时间统计的是程序执行业务逻辑(mutator阶段)消耗的CPU时间,而非墙上流逝时间。你本次统计中MUT对应的墙上时间实际有789.778s,显示为0.000s的原因有两个:

  • 你使用的Ubuntu 18.04对应的GHC版本较旧,RTS运行时统计存在精度截断问题,当业务逻辑CPU消耗极低(比如程序大部分时间阻塞等待IO、内存操作)时,低于统计最小精度的CPU时间会被截断为0
  • 长时间运行下32位时间计数溢出也会导致MUT统计值归零,不代表程序没有执行业务逻辑。

内容的提问来源于stack exchange,提问作者Daniel C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:45:04