rustc-timings

Profile rustc compilation timings to identify slow builds.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/fasterthanlime/.claude --skill rustc-timings
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rustc-timings
Source: https://github.com/fasterthanlime/.claude/tree/main/skills/rustc-timings
Command: npx skills add https://github.com/fasterthanlime/.claude --skill rustc-timings

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Profile rustc to identify why builds are slow, focusing on trait resolution, monomorphization, and LLVM backends.

Core Features & Use Cases

  • Self-profiling builds with nightly Rust and -Z flags
  • Profiling data processing using summarize and crox
  • DuckDB-based analysis for time distribution and hotspots

Quick Start

Generate profiling data with a nightly build, summarize, convert to Chrome format, and run DuckDB analyses as shown in the guide.

Frequently Asked Questions about rustc-timings

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I profile Rust compilation to find slow builds?

Profile rustc compilation using nightly Rust with the -Zself-profile flag to generate timing data. Process the output with measureme tools (summarize and crox), convert to Chrome profiler format, then analyze with DuckDB to identify bottlenecks in trait resolution, monomorphization, and LLVM backends.

What causes slow Rust compile times and how do I diagnose them?

Slow builds typically stem from trait resolution complexity, excessive monomorphization, or LLVM backend overhead. Self-profiling with -Zself-profile captures per-crate timing and monomorphization counts, revealing which components consume the most compilation time.

Can I analyze Rust compilation bottlenecks across different nightly toolchains?

Yes. Self-profiling works across nightly Rust toolchains, allowing you to compare compilation metrics and identify performance regressions. DuckDB-based analysis aggregates and filters timing data to spot differences between toolchain versions.

What tools do I need to profile and analyze rustc performance?

You need nightly Rust for -Zself-profile support, measureme utilities (summarize to process profiling output and crox to convert to Chrome format), and DuckDB to query and analyze timing distributions and per-crate metrics.

How do I convert rustc profiling data into a readable format?

Use the summarize tool to process self-profile output, then crox to convert the result to chrome_profiler.json format, which can be visualized in Chrome DevTools or analyzed with DuckDB for structured queries on timing data.

What build metrics does rustc profiling reveal?

Self-profiling captures per-crate compilation time, monomorphization counts, trait resolution steps, and LLVM backend duration. DuckDB analysis extracts hotspots and time distribution across components to pinpoint optimization opportunities.