ayafileio开源项目

我要开发同款
帕秋莉·诺蕾姬2026年06月23日
6阅读

技术信息

语言技术
C++自动化测试硬件测试
系统类型
WindowsMacOSLinux
行业分类
智能硬件开发工具
开源地址
https://github.com/Patchouli-CN/ayafileio
授权协议
MIT许可

功能介绍

ayafileio 是一个跨平台真异步文件 I/O 库。Windows 用 IOCP,Linux 用 io_uring,macOS 用 GCD,完全绕过线程池模拟。
核心创新是 ResultBatcher,解决了 C++ 扩展里的公认难题:I/O 完成后怎么高效通知 Python 的事件循环。传统做法每个完成都跨线程回调一次,高并发下 GIL 和事件循环锁会炸。ResultBatcher 在 C++ 侧把完成事件攒成自适应批次,根据磁盘 I/O 间隔动态调整批量大小,快盘攒得多、慢盘发得快,把跨线程通知次数从 O(N) 压到 O(N/B),B 最大可达 256。
效果是碾压级的。十万并发随机读,aiofiles 的线程池吞吐量从 7700 跌到 2100 再爬不起来,ayafileio 能维持 19000 以上,同场景快 9 倍。五十万并发压测零错误、零异常,峰值内存不到 600MB。
Python 侧完全兼容 aiofiles 的 async with open 写法,文本、二进制、编码、newline 都支持,也有 readinto 和流式 chunk 生成器。默认配置已经跑满磁盘物理上限,几乎不用手动调参。pip install 即用,Python 3.10+。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论