跳到主要内容

1 篇博文 含有标签「性能优化」

查看所有标签

openpyxl性能优化实战小记

· 阅读需 3 分钟

最近做了个Excel文件处理小工具给一个项目使用,但是一个Excel文件要处理大概两分钟,我觉得这也太慢了,虽然电脑性能一般。因为就是读一个Excel文件,然后写一个Excel文件,也不涉及什么数据库、网络之类的,应该很快才对。 于是,我让AI去做性能优化,毕竟小工具的代码也是Vibe Coding出来的。起初我并没有太在意,不过,当我发现AI为了做性能优化开始修改openpyxl的源码,并且效果很显著时,我觉得有必要看一下了,学习一下。 学习了下本次的性能优化过程,整理了本次性能优化的改动点,然后就有了本篇文章。

用 cProfile 找热点​

import cProfile, pstats, io

pr = cProfile.Profile()
pr.enable()
# ... 业务代码 ...
pr.disable()

s = io.StringIO()
pstats.Stats(pr, stream=s).sort_stats("cumulative").print_stats(30)
print(s.getvalue())