gpt4 book ai didi

python - 有没有一种简单的方法可以判断等待 Python GIL 花费了多少时间?

转载 作者:太空狗 更新时间:2023-10-30 00:12:21 25 4
gpt4 key购买 nike

我有一个长期运行的 Python 服务,我想知道等待 GIL 的所有可运行线程(即未因其他原因而被阻塞的线程)累计花费了多少挂钟时间。是否有捷径可寻?例如,也许我可以定期将一些计数器转储到它的日志文件中。

我的基本动机是排除 GIL 作为这些长时间运行的进程的神秘响应延迟的来源。没有特别的理由怀疑 GIL(除了它符合症状),但其他形式的日志记录还没有发现任何东西,所以,如果容易的话,它会是很高兴有这些信息。

最佳答案

我认为没有简单的方法。可能有一种尴尬的方法,涉及重建 Python 以遍历 PyThreadState 列表并在每次获取锁时计算线程数,但我怀疑这样做是否值得!

我知道这是一个推测性问题,但如果您甚至有点担心线程会导致延迟,那么转向多处理模型而不是多线程模型可能是明智的。由于 Python 中的流程更安全且可扩展性更强,因此如果可行,它们几乎总是最佳选择。

关于python - 有没有一种简单的方法可以判断等待 Python GIL 花费了多少时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/795405/

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