1. There's no reason for software to be slow anymore (danluu.com)
AI 驱动下的软件性能优化新范式
本文探讨了大型语言模型(LLM)如何通过大幅降低性能优化的成本,改变软件开发的现状。作者认为,随着 AI 代理(AI agents)的应用,软件性能优化正从一种稀缺的专业技能转变为一种低成本、可规模化的过程。
核心观点
优化门槛的降低: 过去,实现高性能软件(例如编写 JIT 编译器或复杂的数据库索引)需要极高的专业知识和大量的人力投入。现在,LLM 降低了进入门槛,使得原本因成本过高而无法进行的复杂优化(如针对特定工作负载进行定制)变得可行。
从通用软件转向特定工作负载优化: 传统的软件设计通常针对一类工作负载(class of workloads),而未来的趋势是实现“动态定制软件”,即针对特定用户的工作负载进行优化。作者通过实验证明,利用 AI 代理针对特定的
ripgrep查询对正则引擎(FRE)进行优化,仅需几分钟即可实现显著的性能提升。优化成本的剧减: 在传统开发中,开发者必须衡量“性能提升百分比”与“实现及验证该优化所需的人工天数”之间的平衡。如果一项优化需要数周的验证工作,即便能提升 2% 的性能,通常也会被放弃。然而,AI 将这一“验证与实现”的时间成本降低了数个数量级(甚至达到 1000 倍以上),使得许多以往“不划算”的微小优化现在变得极具经济价值。
案例研究
- 正则引擎 (FRE) 实验:通过 AI 代理对正则引擎进行针对性优化,在处理长查询时实现了 2x-4x 的性能提升,在代表性测试集上也有约 7% 的速度增长。
- Azul 游戏 AI:作者利用 LLM 构建了一个强大的 Azul AI。尽管作者并非 AI 专家,但通过让 AI 处理复杂的多线程算法选择、实现及非确定性调试(这在人工操作下可能需要数周),其 AI 的表现远超通过传统方式构建的 AI。
- 性能面试挑战:案例显示,在受限的性能优化任务中,AI 能够尝试人类工程师因时间限制而无法尝试的“极端”优化方案,从而在结果上超越专业工程师。
结论与展望
作者指出,虽然目前的 AI 在实验设计方面仍需人类引导,但其在执行复杂代码手术和实现优化算法方面的能力已不可忽视。对于大型企业而言,利用客户的工作负载数据通过 AI 进行自动化优化将是一个极具潜力的方向;对于个人开发者,利用 AI 优化个人工作流的成本也已降至极低。性能优化不再是少数专家的专利,软件性能的“缓慢”问题正在通过 AI 技术得到根本性的解决。