一句话:提出自动化流水线 CppPerf-Mine 挖掘 C++ 性能改进补丁,并构建含 347 个可复现补丁的基准 CppPerf-DB。
现有 C++ 性能基准大多来自竞赛编程提交,而近期真实世界基准主要面向 Python 和 .NET,缺少真实、可执行的 C++ 性能修复基准。本文提出 CppPerf-Mine,一个可配置流水线,通过结构化提交过滤、基于 LLM 的提交分类器以及容器化构建与测试阶段,从 GitHub 开源 C++ 仓库中挖掘能缩短执行时间的补丁,并为每个补丁生成完全可复现的 Docker 镜像。基于该流水线构建了 CppPerf-DB,包含来自 42 个成熟 C++ 仓库的 347 个经人工验证的补丁,其中 39% 为多文件修改,可用于评估仓库级修复工具。初步研究中,OpenHands 仅正确修复 13.5% 的补丁,表明真实世界 C++ 性能修复仍是开放挑战。
Recent progress in automated repair of performance bugs demands realistic, executable benchmarks. However, existing C++ performance benchmarks are largely built from competitive programming submissions, and recent real-world benchmarks predominantly target Python and .NET. To fill this gap, we present CppPerf-Mine, a configurable pipeline that mines execution-time-improving patches from open-source C++ repositories on GitHub by combining structural commit filtering, an LLM-based commit classifier, and a containerized build & test stage that produces fully reproducible Docker images for each patch. Using CppPerf-Mine, we build CppPerf-DB, a benchmark comprising 347 manually verified patches from 42 mature C++ repositories, 39% of which are multi-file, enabling the evaluation of repository-level repair tools. In our preliminary study, OpenHands correctly fixes only 13.5% of the patches in CppPerf-DB, confirming that real-world C++ performance repair remains an open challenge. CppPerf-Mine and CppPerf-DB are open-source and publicly available at: https://doi.org/10.5281/zenodo.20097425. In addition, a demonstration video is available at: https://www.youtube.com/watch?v=nixlupIgSdM.