VicroCode
让代码创造价值
VicroCode是一个轻量级代码在线发布、交易平台,开箱即用,免部署、免服务器、免备案,支持接入智能体、通用管理系统、游戏等多种项目
稍候片刻,您可先学习AI编程手册
正在加载中...

市场信息

[Python] wreq- Python :重写协程桥接后的性能提升

国庆闲来无事,跑了一下 wreq-python 和其他 Python HTTP 客户端的 HTTPS 性能基准,发现自己的结果不太理想,于是顺着火焰图查了一下瓶颈。 项目地址: 之前通过 PyO3 和 pyo3-async-runtimes 做异步桥接,性能其实已经不错,但在这套实现里,反复获取 GIL 带来的额外开…

www.v2ex.com · 2026-10-05T00:34:58+00:00

推荐学习书目 › Learn Python the Hard Way Python Sites › PyPI - Python Package Index › /ai-market-guide/ › Pocoo 值得关注的项目 › PyPy › Celery › Jinja2 › Read the Docs › gevent › pyenv › virtualenv › Stackless Python › Beautiful Soup › 结巴中文分词 › Green Unicorn › Sentry › Shovel › Pyflakes › pytest Python 编程 › pep8 Checker Styles › PEP 8 › Google Python Style Guide › Code Style from The Hitchhiker's Guide V2EX › Python wreq- Python :重写协程桥接后的性能提升 0x676e67 · 0x676e67 · 4h 0m ago · 383 views 国庆闲来无事,跑了一下 wreq-python 和其他 Python HTTP 客户端的 HTTPS 性能基准,发现自己的结果不太理想,于是顺着火焰图查了一下瓶颈。

项目地址: /ai-market-guide/ 之前通过 PyO3 和 pyo3-async-runtimes 做异步桥接,性能其实已经不错,但在这套实现里,反复获取 GIL 带来的额外开销和争用,还是影响了性能。后来请 Claude 帮忙分析火焰图和几个主要耗时点,再把自己的思路和 PyO3 原生协程的实现作为参考,重写并优化了这部分桥接逻辑。

咱也用 AI ,分析这些确实能省不少精力。优化方向是有预期的,不过最后提升这么大,还是有点意外。

下面贴一下基准结果,其中 ry 和 pyreqwest 也都是 Rust reqwest HTTP 客户端的 Python 绑定。 HTTP/1.1 的基准看看就好。

wreq/reqwest 的连接池默认不限制连接数,并发时会打开很多连接; ry/pyreqwest 的默认配置有没有类似限制,我不确定。所以这部分结果就图个乐。

HTTP/2 这部分则都是在单个连接上并发请求。完整的基准测试数据与源码: /ai-market-guide/ No Comments Yet 性能 协程 优化

返回 AI 市场导读

来源:v2ex.com