
编译器升级的一大好处是,你的应用代码无需改动。你只需重新构建同一套代码库,就能看看新工具链能带来怎样的表现。Delphi 13.2 让这一对比在 Linux 平台上显得尤为有意思。
Delphi 13.1(及更早版本)依赖于 LLVM 3.3,而 Delphi 13.2 则跨越了十年的编译器演进,直接升级到了 LLVM 20.1。
我之前已经通过一些内部测试部署了三个WebBroker实例,所以我心想:如果我用两种编译器版本分别构建每个实例,并对它们进行相同的负载测试会怎样?做完之后,我要告诉你一些事情:结果并不微妙。在CPU密集型工作负载下,吞吐量提高了254%至390%,而单请求延迟下降了71%至78%。
但正如往常一样,那些百分比背后有一个重要的限定条件,而它始于我运行的第一个测试。
目录(内容速览)
如果你想在自己的环境中运行这些测试,我在 GitHub 仓库中整理了一个简化版的项目文件。
该仓库包含:
使用 Delphi 13.1 和 13.2 通过 PAServer 为 Linux64 构建两个项目,并以 Release 模式进行。代码会自动打印(或返回)一个校验和,以便您在比较时间之前验证两个构建是否生成了相同的输出。
在这个测试环境中,升级到 13.2 使得 CPU 密集型任务的请求延迟降低了 70% 以上,而无需修改一行代码。如果你在 Linux 上运行 Delphi 服务,升级到 13.2 可能是你今年能获得的最快性能提升。
详细内容请参考:What Happens When Your Compiler Jumps 12 Years of LLVM Evolution?

