美文网首页
记一次 python 性能优化

记一次 python 性能优化

作者: Lupino | 来源:发表于2020-06-02 07:18 被阅读0次

在异步编程中,不同 Task (asyncio.Task) 之间使用 Future (asyncio.Future) 进行数据交互。

这样子的设计是没有问题的,在实际的运行环境中,发现某些请求一直会延迟 1 秒执行。

经过大量的测试调试后,发现 asyncio.Future, 在 set_resultawait fut 过程中花费了将近 1 秒的时间。

经阅读文档发现需要用 loop.create_future 来提高性能,于是更改为这方案。经测试这种方式在数据交互过程中需要 200 毫秒的时间。

200 毫秒,对于一个网络请求来讲太久了。在加上我们搞物联网,加上设备网络的延迟,那就很久了。

如果不用 asyncio.Future, 直接用 callback 的模式, 这样自己就没有延迟。最后我们使用的这种方案, 请求时间马上从 1 秒多,降到 100 多毫秒。

相关文章

网友评论

      本文标题:记一次 python 性能优化

      本文链接:https://www.haomeiwen.com/subject/kkjyzhtx.html