$ show yugr/rust-slides
This repository is a research and benchmarking project, not a runnable application. Its primary purpose is to systematically quantify the performance costs of Rust's safety features relative to C/C++ and to document the strongest and weakest aspects of Rust code generation. The main artifacts are structured survey/analysis documents under features/, benchmark harnesses that build and run real-world Rust projects (zed, bevy, uv, tokio, regex, veloren, etc.) under modified compiler branches, custom LLVM IR counting tools, and Python scripts that normalize, compare, and plot benchmark results. It is classified as data_research because the executable code is research infrastructure rather than a product, though it has hybrid aspects of a software benchmarking harness.
The LLM identified 4 files worth highlighting for reuse:
Generic benchmark result comparison tool that aligns measurement dimensions across runs and computes aggregate speedups/slowdowns between baseline and experimental builds. It is project-agnostic and can be reused for any benchmark suite that produces per-benchmark numeric results in a normalized format.
Defines reproducible benchmark workflows for dozens of significant Rust projects, pinning each project to a commit, applying local patches, building with a specified toolchain, and executing under controlled conditions. The class-per-project structure is a strong template for automating large multi-repo benchmark suites.
A standalone LLVM-based tool that scans Rust-generated bitcode and counts panic-related calls and checks, with logic to avoid counting dominated duplicates. It is used to measure how many safety checks survive optimization and can be adapted to analyze IR from other LLVM frontends.
Post-processes Valgrind DeadWrites plugin output into aggregate dead-store statistics. It is a clean example of turning noisy instrumentation output into structured data for performance research and can be reused for any dead-store or memory-write instrumentation dump.