我正在创建一个应用程序,我希望尽可能地限制其资源占用空间。 我注意到我的应用程序正在消耗低负载时平均4%的CPU使用率,虽然这并不一定意味着一件坏事,但我想知道它究竟来自何处。
我开始使用分析软件(yappi),虽然所有线程似乎都没有花费太多时间,但有两个例外:
name #n tsub ttot tavg
Thread 1402.. ../lib/python2.6/socket.py.accept:19 340 678.6799..
..bmit_listene 1402.. ..n2.6/threading.py._release_save:21 5032 932.8961..
这些方法/类是否已知“资源密集型”? 您是否有与这些相关的绩效改进技巧?
谢谢,
杰
答案 0 :(得分:0)
分析器中阻塞调用的计时不是很有意义。当阻塞调用使线程被挂起并且其他线程运行时,当阻塞调用返回时,在其他线程中花费的时间也被添加到被调用函数的总时间。请参阅:Yappi的多线程统计信息
更新:v0.62支持CPU时间分析,有效地解决了与阻塞函数的多线程分析相关的所有问题。