首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Stackless Python -分析单个微线程的执行时间

Stackless Python -分析单个微线程的执行时间
EN

Stack Overflow用户
提问于 2011-12-26 03:11:49
回答 1查看 182关注 0票数 1

在我的用Stackless Python编写的服务器中,我偶尔会在5-10秒的持续时间内获得CPU使用率的大峰值。这种情况偶尔会发生,所以我很难追踪到它。

我已经使用cProfile来尝试并确定这些峰值来自何处,但cProfile给出了每个函数花费时间的总体情况。我真正想知道的是,CPU峰值是由于单个微线程中发生的一些处理(并停止了其他微线程),还是有多个微线程进行了大量的处理(即:当每一个都变得活跃时,每个都在做大量的工作)。

在Stackless Python中有没有一种方便的方法连接到调度器,这样我就可以添加一些计时代码了?换句话说,有没有一个函数可以在微线程变得活跃和不活跃时被调用,我可以将其挂钩?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-29 02:56:00

我还没有找到一个显式的函数在微线程阻塞/恢复时挂钩,但是因为Channel.receive()通常是阻塞/恢复发生的时候,所以我挂钩了发生的每一个事件。

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

https://stackoverflow.com/questions/8631091

复制
相关文章

相似问题

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