消除CI性能测试中的噪音:CodSpeed Macro Runners的突破

2025-08-03
消除CI性能测试中的噪音:CodSpeed Macro Runners的突破

在持续集成环境中建立性能关卡,防止部署重大性能倒退,一直是许多软件团队的长期目标。然而,在托管的CI运行器中进行测量尤其具有挑战性,主要是因为虚拟化层中的噪声干扰。本文探讨了使用各种基准测试套件测量此噪声,结果表明GitHub Actions托管运行器的变异系数为2.66%,导致高达45%的误报率。为了解决这个问题,CodSpeed推出了Macro Runners,它在云中的裸机实例上运行,并具有额外的稳定性配置。结果显示,Macro Runners的平均方差为0.56%,误报率降低到0.04%。这使得能够使用更精细的性能关卡,从而在不给贡献者带来过多误报的情况下捕捉到更细微的性能倒退。

阅读更多
开发

CodSpeed:无与伦比的性能测试

2024-11-07
CodSpeed:无与伦比的性能测试

CodSpeed 是一款性能测试工具,可在 CI/CD 流程中持续测量和优化软件性能,避免生产环境问题,改善用户体验并降低基础设施成本。它能够及早发现性能回归,优化转换率和用户留存率,避免生产环境问题,并通过 CPU 深度插桩提供可靠的性能指标,将结果差异降低到 1% 以内。CodSpeed 支持多种编程语言和框架,可与现有技术栈紧密集成,提供详细的性能报告,并可定制性能指标和阈值。

阅读更多
未分类 软件优化

Python 3.13 性能现状:自由线程

2024-11-05
Python 3.13 性能现状:自由线程

CPython 3.13版本引入了自由线程模式,该模式禁用了全局解释器锁(GIL),从而显著提升多线程应用的性能。文章以PageRank算法为例,对比了单线程、多线程和多进程三种实现方式在不同数据量下的性能表现。结果显示,在启用自由线程的3.13版本中,多线程版本的性能最佳,而多进程版本由于进程间通信的开销,性能甚至低于单线程版本。文章还指出,目前的自由线程模式仍处于实验阶段,会导致其他非多线程应用的性能下降,但未来有望改进。

阅读更多
未分类

Rust 1.78:128 位内存对齐修复对性能的影响

2024-05-17
Rust 1.78:128 位内存对齐修复对性能的影响

Rust 1.78.0 版本于 2024 年 5 月 2 日发布,该版本完成了 x86 架构的 u128/i128 更改,对使用 128 位整数的代码可能会有性能提升。文章深入探讨了内存对齐问题如何影响性能,并通过实例演示了 Rust 1.76.0 中 128 位整数的 8 字节对齐导致的性能下降,以及通过强制 16 字节对齐来优化性能的方法。文章还使用 CodSpeed 运行器进行基准测试,比较了不同对齐方式下的性能差异,并证实了 Rust 1.78.0 版本解决了对齐问题,提升了代码性能。

阅读更多
未分类 内存对齐