Logs every compilation event with timing, tier (T1/T2), success/failure, and invalidation reasons. Use to verify hot code is compiling, diagnose compilation failures/bailouts, track recompilation cycles, and understand tiered compilation behavior. Shows WHEN compilation happens. Combine with detecting-performance-warnings to understand WHY compilation fails. (project)
Logs compilation events with timing, tier levels, success/failure status, and invalidation reasons to diagnose compilation behavior.
/plugin marketplace add antonykamp/cc-truffle-performance-plugin/plugin install antonykamp-cc-truffle-performance-plugin@antonykamp/cc-truffle-performance-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Logs every compilation event with timing, tier levels, success/failure status, and invalidation reasons. Essential for understanding what the compiler is doing.
# Basic compilation trace
<launcher> --experimental-options \
--engine.TraceCompilation <program>
# With timing details
<launcher> --experimental-options \
--engine.TraceCompilation \
--engine.TraceCompilationDetails <program>
# Combined with performance warnings (RECOMMENDED)
<launcher> --experimental-options \
--engine.TraceCompilation \
--compiler.TracePerformanceWarnings=all \
<program> 2>&1 | tee compilation.log
Before running:
<launcher> --experimental-options --engine.TraceCompilation -c 'print 1;' → Verify compilation events appearAfter running:
tool-outputs/trace-compilation-[benchmark].txtGate: All boxes checked? → Proceed to analysis
| Option | Description |
|---|---|
--engine.TraceCompilation | Basic compilation events |
--engine.TraceCompilationDetails | Detailed timing |
--engine.TraceCompilationPolymorphism | Polymorphic specializations |
--engine.CompileOnly=<name> | Filter to specific function |
[engine] opt done root sieve <tier1> |Time: 45ms
[engine] opt done root sieve <tier2> |Time: 234ms
[engine] opt failed root sieve |Reason: Bailout
[engine] opt deopt root sieve |Reason: Assumption invalidated
| Event | Meaning | Action |
|---|---|---|
opt done | Compilation succeeded ✅ | Good |
opt failed | Compilation failed ❌ | Investigate reason |
opt deopt | Invalidated ⚠️ | Check for deoptimization loops |
opt queued | Waiting for compilation | Normal |
| Tier | Description | Expected |
|---|---|---|
| tier1 | First-tier compilation | Fast, basic optimizations |
| tier2 | Full optimization | Slower, maximum optimization |
Symptom: Function never appears in trace Cause: Not hot enough, or compilation disabled Fix: Check thresholds, verify function is called enough
opt done myFunc <tier1>
opt deopt myFunc
opt done myFunc <tier1>
opt deopt myFunc
...repeating...
Cause: Type instability or deoptimization loop
Fix: Use detecting-deoptimizations skill
opt failed myFunc |Reason: Bailout
Cause: Code too complex or unsupported pattern
Fix: Use detecting-performance-warnings to find barriers
| Finding | Next Skill |
|---|---|
| No compilations | Check thresholds |
| Deopt cycles | detecting-deoptimizations |
| Bailouts | detecting-performance-warnings |
| Still unclear | analyzing-compiler-graphs |
profiling-with-cpu-sampler - Identify hot functions firstdetecting-performance-warnings - Find barriersdetecting-deoptimizations - Track deoptimizationstracing-inlining-decisions - Inlining behavior<launcher> --help:engine | grep -i trace
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.