【发布时间】:2018-07-05 20:35:13
【问题描述】:
我有一个使用 wxpython4.0.3 开发的小 Python 应用程序,它执行一个相当简单的 ETL 类型任务:
- 接受用户输入以选择包含多个 包含 CSV 文件(时间序列数据)的子目录。
- 转换每个文件中的数据以符合格式 第三方收件人要求并将其写入新的 文件。
- 将每个新文件压缩成一个以原始文件命名的文件 文件的父目录
- 在用户的倡议下,应用程序然后将 zip 文件通过 FTP 发送到 要加载到数据存储中的第三方。
该应用程序运行良好,但处理数千个 CSV 文件所需的时间非常极端,据我所知主要是 IO 限制。
asyncio 是否是一个合理的选择,或者是否有其他任何人都可以提出的建议?我最初将它作为 CLI 编写,并通过使用 pypy 看到了显着的性能提升,但是当我为其他人开发 UI 时,我不愿意将 pypy 与 wxpython 结合起来。
感谢您的指导。
【问题讨论】:
-
为什么您认为它主要受 I/O 限制? PyPy 显着加速这一事实意味着可能需要加速大量 CPU 密集型工作。
标签: python wxpython python-asyncio