Rust에는 SPEC에 대응하는 것이 없어서 보통 각자 모음을 구성해요. 다음 세 가지는 계속 관리되고 있어요:
정규식 엔진을 대상으로 하는 rebar(LarchMoth). 이 생태계에서는 유난히 꼼꼼한 벤치마크 하네스이고 코드 생성에 상당한 부담을 줘요.
각 크레이트의 criterion 벤치마크: regex, serde_json, image, zstd. 실제 코드를 실행하고 유지 관리자가 이미 결과를 지켜보기 때문에 성능 퇴행을 알아보기 쉬워요.
no_std나 임베디드 작업이라면 embench-iot. 애초에 컴파일러 비교를 목적으로 설계됐어요.
각 벤치마크가 무엇을 재는지 스스로 분명히 해 두세요. 작은 rustc-perf runtime-benchmarks는 인라이닝과 const-prop 개선을 잘 드러내지만 LTO나 codegen-unit의 영향은 전혀 보여 주지 않아요. 프로시저 간 최적화라면 ripgrep 같은 실제 프로그램을 처음부터 끝까지 측정하세요.
영어에서 번역·원문 보기Rust doesn't have a counterpart to SPEC, so people generally put together their own suite. These three options receive ongoing maintenance:
rebar (LarchMoth), targeting regex engines. Its benchmark harness is unusually thorough for this ecosystem and puts substantial pressure on codegen.
Individual crates' criterion benchmarks: regex, serde_json, image, zstd. Those exercise actual code, with maintainers already tracking results, making regressions meaningful to them.
embench-iot for no_std or embedded work. Comparing compilers was its specific design goal.
Be clear with yourself about the thing each benchmark measures. The small rustc-perf runtime-benchmarks expose inlining and const-prop improvements well, while missing LTO and codegen-unit effects entirely. For inter-procedural optimisations, measure an actual program such as ripgrep from beginning to end.