Py学习  »  tornado

在分析Tornado/Asyncio时,哪些函数是免费的?

MRocklin • 6 年前 • 1902 次点击  

我正在运行一个相当复杂的Tornado TCP服务器应用程序,我想了解一下需要花多少时间才能提高性能。我使用的是Tornado v5+,所以Tornado由Asyncio支持。

我在我的事件循环线程上运行了一个统计分析器,发现像下面这样的堆栈很常见:

tornado/ioloop.py::run_sync
asyncio/asyncio.py::start
asyncio/base_events.py::run_forever
asyncio/base_events.py::_run_once
asyncio/events.py::_run
torando/ioloop.py::<lambda>
torando/platform/asyncio.py::add_callback
asyncio/base_events.py::call_soon_threadsafe
asyncio/selector_events.py::_write_to_self
    csock.send(b'\0')

tornado/ioloop.py::run_sync
asyncio/asyncio.py::start
asyncio/base_events.py::run_forever
asyncio/base_events.py::_run_once
asyncio/events.py::selector_events.py::_read_from_self
    data = self._ssock_recv(4096)

无论是在活动状态还是在安静状态下,这都会占用大约40%的计算时间。我应该关心它们吗,或者当系统等待发生什么事情时,这些只是等待状态吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34054
 
1902 次点击  
文章 [ 1 ]  |  最新文章 6 年前