Back to list
antonykamp

tracing-compilation-events

by antonykamp

A Claude plugin for analyzing and optimizing Truffle performance

0🍴 0📅 Jan 22, 2026

SKILL.md


name: tracing-compilation-events description: 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.

Tracing Compilation Events

Logs every compilation event with timing, tier levels, success/failure status, and invalidation reasons. Essential for understanding what the compiler is doing.

When to Use This Skill

  • Verify hot code is compiling
  • Diagnose compilation failures and bailouts
  • Track recompilation cycles
  • Understand tiered compilation behavior

Quick Start

# 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

⚠️ REQUIRED: Fermi Verification (Every Tool Invocation)

Before running:

  • Pre-calculate: Expected # of compilations (5-20 for typical benchmark)
  • Smoke test: <launcher> --experimental-options --engine.TraceCompilation -c 'print 1;' → Verify compilation events appear

After running:

  • Validate: Expected functions appear in trace? YES / NO
  • If NO: STOP - Check if functions are hot enough (increase iterations)
  • Save output: tool-outputs/trace-compilation-[benchmark].txt

Gate: All boxes checked? → Proceed to analysis

Key Options

OptionDescription
--engine.TraceCompilationBasic compilation events
--engine.TraceCompilationDetailsDetailed timing
--engine.TraceCompilationPolymorphismPolymorphic specializations
--engine.CompileOnly=<name>Filter to specific function

Understanding Output

Successful Compilation

[engine] opt done    root sieve  <tier1>   |Time:    45ms
[engine] opt done    root sieve  <tier2>   |Time:   234ms

Compilation Failure

[engine] opt failed  root sieve  |Reason: Bailout

Invalidation

[engine] opt deopt   root sieve  |Reason: Assumption invalidated

Event Types

EventMeaningAction
opt doneCompilation succeeded ✅Good
opt failedCompilation failed ❌Investigate reason
opt deoptInvalidated ⚠️Check for deoptimization loops
opt queuedWaiting for compilationNormal

Tier Levels

TierDescriptionExpected
tier1First-tier compilationFast, basic optimizations
tier2Full optimizationSlower, maximum optimization

Problem Patterns

Pattern 1: No Compilation Events

Symptom: Function never appears in trace Cause: Not hot enough, or compilation disabled Fix: Check thresholds, verify function is called enough

Pattern 2: Repeated Deopt Cycles

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

Pattern 3: Compilation Bailout

opt failed  myFunc  |Reason: Bailout

Cause: Code too complex or unsupported pattern Fix: Use detecting-performance-warnings to find barriers

Integration with Other Skills

FindingNext Skill
No compilationsCheck thresholds
Deopt cyclesdetecting-deoptimizations
Bailoutsdetecting-performance-warnings
Still unclearanalyzing-compiler-graphs
  • profiling-with-cpu-sampler - Identify hot functions first
  • detecting-performance-warnings - Find barriers
  • detecting-deoptimizations - Track deoptimizations
  • tracing-inlining-decisions - Inlining behavior

Reference

<launcher> --help:engine | grep -i trace

Score

Total Score

55/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon