gpt4 book ai didi

haskell - 如何分析具有大量 System.Process.read 进程的 Haskell 程序?

转载 作者:行者123 更新时间:2023-12-02 07:13:51 24 4
gpt4 key购买 nike

我有一个多线程 Haskell 程序,它使用 System.Process.readProcess 调用外部程序,并且经常这样做。我如何衡量绩效? (决定我是否应该改进我的程序或外部程序。)“外部时间”如何显示在配置文件(+RTS -p)或事件日志(threadscope 图片)中?

最佳答案

您可以使用ProcMon对于这个任务。

对进程名称进行过滤,仅选择“显示进程和线程事件”,您可以准确地看到哪个进程更耗时。您甚至可以保存并解析日志以进行长时间监控。

我还建议您使用另一种方法来解决此问题:

  1. 子进程
    1. 在 main 上创建循环并等待外部事件(套接字、管道等)
    2. 处理请求并发送结果
    3. 阻塞直到下一个请求。
  2. 主要流程:
    1. 生成一个或多个子进程
    2. 将请求发送给有空的 child
    3. 等待回复

这样你就可以摆脱在不断生成/终止子进程中浪费的开销。

关于haskell - 如何分析具有大量 System.Process.read 进程的 Haskell 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968729/

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