Hasty Briefsbeta

双语

Making PyPI's test suite 81% faster

a year ago
  • #Python
  • #Performance
  • #Testing
  • Trail of Bits与PyPI合作改进测试套件性能,将执行时间从163秒缩短至30秒
  • 关键优化包括:使用pytest-xdist并行执行测试(减少67%)、采用Python 3.12的sys.monitoring统计覆盖率(减少53%)、优化测试发现机制及移除不必要的导入
  • 测试用例从3,900条增至4,700条的同时实现了81%的性能提升
  • 并行化需要解决数据库夹具、覆盖率报告和测试输出可读性等问题
  • 利用Python 3.12的sys.monitoring优化覆盖率统计使测试时间再降53%
  • 通过testpaths配置策略性优化,测试发现时间减少66%
  • 移除ddtrace等非必要导入带来3.4%的适度改进
  • 数据库迁移压缩的概念验证虽显示潜力,但因复杂性未被合并
  • 更快的测试能通过鼓励频繁全面测试来提升安全性
  • 其他项目的快速优化建议:测试并行化、覆盖率优化、加速测试发现、清理无用导入