python - 为什么 Asyncio 在 socket.send(data) 中花费时间
问题描述
我正在分析我的 asyncio 应用程序并发现以下堆栈最终消耗了惊人的 CPU 时间(如 25%)
mycode.py:my_stream_writer.write(my_bytes)
asyncio/streams.py::self._transport.write(data)
asyncio/selector_events.py::self._sock.send(data)
鉴于这些是非阻塞套接字,我预计这不会占用太多时间。我能做些什么来减少这里的开销?我已经将消息批处理到几毫秒的垃圾箱中并尝试过uvloop
.
解决方案
推荐阅读
- r - 如何在 R 中生成四分之一图?
- python - 如何在我的线程中缓冲输出
- react-native - 在 react native 上显示自定义图像并链接到 sectionList 项
- excel - 如何将文件夹中的多个源工作簿中的数据复制到另一个工作簿,然后另存为新工作簿
- python - 如何使用 Flask 网络服务器对 Spotipy 进行身份验证?
- java - 以 10 秒为间隔运行 10 次函数的最佳方法
- python - 在 Numpy Python 中从 csv 文件读取数组时出错
- python - 从没有 UDF 的案例表达式中生成 spark 返回元组(StructType)
- laravel - 帮助的成员总数
- android - Flutter 如何从多图像选择器中保存图像