Skip to content
hammer-benchmark-report logo

HammerEngine Benchmark Report Generator

hammer-benchmark-report

Generates professional performance analysis reports from SDL3 HammerEngine benchmark results including statistical analysis, comparison tables, visualizations, and recommendations. Use when preparing performance documentation, analyzing optimization efforts, or generating milestone/release reports.

SKILL.md

Full skill instructions

HammerEngine Benchmark Report Generator

This Skill creates comprehensive, professional-quality performance reports from SDL3 HammerEngine benchmark results. Perfect for documentation, stakeholder updates, or performance tracking over time.

Report Capabilities

  1. Data Aggregation - Collect metrics from all benchmark test results
  2. Statistical Analysis - Calculate mean, median, stddev, percentiles
  3. Visual Representation - Generate ASCII charts and tables
  4. Trend Analysis - Compare against historical baselines
  5. Callgrind Integration - Include profiling hotspot analysis
  6. Professional Formatting - Markdown/​HTML/​PDF output formats
  7. Executive Summary - High-level overview for stakeholders

Input Sources

Benchmark Result Files

Location: $PROJECT_ROOT/​test_results/ (Ensure PROJECT_ROOT environment variable is set to project root directory)

Files to Scan:

$PROJECT_ROOT/​test_results/
├── ai_benchmark/
│   ├── performance_metrics.txt
│   └── performance_report.md
├── collision_benchmark/
│   ├── performance_metrics.txt
│   └── performance_report.md
├── pathfinder_benchmark/
│   ├── performance_metrics.txt
│   └── performance_report.md
├── event_manager_scaling/
│   ├── performance_metrics.txt
│   └── performance_report.md
├── particle_benchmark/
│   ├── performance_metrics.txt
│   └── performance_report.md
├── ui_stress/
│   ├── performance_metrics.txt
│   └── performance_report.md
└── valgrind/
    ├── callgrind/
    │   └── callgrind.out.*
    └── cache/
        └── cachegrind.out.*

Historical Baselines (if available)

$PROJECT_ROOT/​test_results/​baseline/
$PROJECT_ROOT/​test_results/​baseline_history/

Execution Steps

Step 1: Discover Available Benchmark Results

Scan for results:

find "$PROJECT_ROOT/​test_results/" -name "performance_metrics.txt" -type f

Expected benchmarks:

  • AI System Benchmark
  • Collision System Benchmark
  • Pathfinder Benchmark
  • Event Manager Scaling
  • Particle Manager Benchmark
  • UI Stress Tests

For each found result:

  • Record timestamp (from file modification date)
  • Extract all metrics
  • Categorize by system

Step 2: Extract and Parse Metrics

Extraction Patterns:

AI System Metrics (Dual Benchmark System)

Synthetic Benchmarks (AIManager infrastructure):

grep -B 5 -A 10 "TestSynthetic" "$PROJECT_ROOT/​test_results/​ai_scaling_benchmark_"*.txt | \
  grep -E "Entity updates per second:|entities"

Integrated Benchmarks (Production behaviors):

grep -B 5 -A 10 "TestIntegrated" "$PROJECT_ROOT/​test_results/​ai_scaling_benchmark_"*.txt | \
  grep -E "Entity updates per second:|entities"

Parse into structure:

AI_System_Synthetic:
  Entity_100: 170000
  Entity_200: 750000
  Entity_1000: 975000
  Entity_5000: 925000
  Entity_10000: 995000

AI_System_Integrated:
  Entity_100: 569152
  Entity_200: 579794
  Entity_500: 611098
  Entity_1000: 1192606
  Entity_2000: 1587491
Collision System Metrics
grep -E "^(Collision Checks|Query Time|Hash Efficiency|AABB Tests):" \
  "$PROJECT_ROOT/​test_results/​collision_benchmark/​performance_metrics.txt"
Pathfinder Metrics
grep -E "^(Path Calculation|Nodes Explored|Cache Hits|A\* Performance):" \
  "$PROJECT_ROOT/​test_results/​pathfinder_benchmark/​performance_metrics.txt"
Event Manager Metrics
grep -E "^(Events/​sec|Dispatch Latency|Queue Depth|Peak Throughput):" \
  "$PROJECT_ROOT/​test_results/​event_manager_scaling/​performance_metrics.txt"
Particle Manager Metrics
grep -E "^(Particles/​frame|Render Time|Batch Count|Culling Efficiency):" \
  "$PROJECT_ROOT/​test_results/​particle_benchmark/​performance_metrics.txt"
UI System Metrics
grep -E "^(Components|Render Time|Event Handling|DPI Scaling):" \
  "$PROJECT_ROOT/​test_results/​ui_stress/​performance_metrics.txt"

Step 3: Statistical Analysis

For each metric with multiple data points:

Calculate Statistics
def calculate_statistics(values):
    """Calculate statistical measures for a set of values"""
    n = len(values)
    mean = sum(values) / n

    # Median
    sorted_values = sorted(values)
    median = sorted_values[n//2] if n % 2 == 1 else \
             (sorted_values[n//2-1] + sorted_values[n//2]) / 2

    # Standard Deviation
    variance = sum((x - mean) ** 2 for x in values) / n
    stddev = variance ** 0.5

    # Percentiles
    p50 = median
    p95 = sorted_values[int(n * 0.95)]
    p99 = sorted_values[int(n * 0.99)]

    # Min/​Max
    min_val = min(values)
    max_val = max(values)

    return {
        'mean': mean,
        'median': median,
        'stddev': stddev,
        'p50': p50,
        'p95': p95,
        'p99': p99,
        'min': min_val,
        'max': max_val,
        'coefficient_of_variation': (stddev / mean) * 100 if mean > 0 else 0
    }

Apply to metrics:

  • If multiple benchmark runs exist, aggregate data
  • Calculate statistics for each metric
  • Identify outliers (values > 2 stddev from mean)

Step 4: Callgrind Analysis (if available)

Parse Callgrind Output:

# Find most recent callgrind output
CALLGRIND_FILE=$(ls -t "$PROJECT_ROOT/​test_results/​valgrind/​callgrind/​callgrind.out."* 2>/​dev/​null | head -n 1)

if [ -f "$CALLGRIND_FILE" ]; then
    # Extract top hotspots using callgrind_annotate
    callgrind_annotate --auto=yes "$CALLGRIND_FILE" | head -n 50
fi

Extract:

  • Top 10 functions by time (Ir - instruction reads)
  • Top 10 functions by calls
  • Call graphs for critical paths (AI update, collision detection, rendering)

Example Hotspot Data:

Function                               Ir        %
AIManager::updateBehaviors()           15,234M   45.2%
CollisionManager::detectCollisions()    6,123M   18.1%
PathfinderManager::calculatePath()      4,056M   12.0%

Step 5: Trend Analysis (if baselines available)

Compare Against Baseline:

For each metric:

  1. Load baseline value (if exists)
  2. Calculate percentage change
  3. Determine trend direction (improving/​degrading/​stable)
  4. Identify long-term trends (if multiple historical baselines)

Trend Classification:

  • 📈 Improving: >5% better than baseline
  • 📉 Degrading: >5% worse than baseline
  • ➡️ Stable: Within ±5% of baseline
  • 🆕 New: No baseline for comparison

Step 6: Generate Report Sections

Section 1: Executive Summary
# SDL3 HammerEngine Performance Report

**Generated:** YYYY-MM-DD HH:MM:SS
**Benchmark Suite Version:** <git-commit-hash>
**Branch:** <current-branch>
**Platform:** <OS-version>
**Build Type:** Debug/​Release

---

## Executive Summary

### Overall Performance: ✓ EXCELLENT / ✓ GOOD / ⚠ FAIR / ❌ NEEDS IMPROVEMENT

SDL3 HammerEngine demonstrates <strong/​adequate/​weak> performance across all critical systems:

- **AI System:** Handles 10,000+ entities at 62 FPS with 5.8% CPU (Target: 60+ FPS, <6% CPU) ✓
- **Collision System:** 125,000 collision checks/​sec, 0.08ms query time ✓
- **Pathfinding:** 8.5ms path calculation, 78% cache hit rate ✓
- **Event System:** 8,500 events/​sec throughput, 0.12ms dispatch latency ✓
- **Particle System:** 5,000 particles/​frame, 3.2ms render time ✓
- **UI System:** 1,000 components, 4.5ms render time ✓

### Key Achievements

- AI system exceeds 10K entity target with headroom
- Collision system optimization improved query speed by 12%
- Event throughput supports 8K+ concurrent events
- All systems meet or exceed performance targets

### Areas for Improvement

- Event dispatch latency increased 8% (monitor)
- AI behavior updates showing slight variance (9% stddev)

### Recommendation

**Status:** Ready for production
**Next Milestones:** Optimize event dispatching, stabilize AI behavior timing
Section 2: Detailed System Analysis
## Detailed Performance Analysis

### AI System - Synthetic Benchmarks (Infrastructure Performance)

#### Purpose
Tests AIManager infrastructure without integration overhead

#### Benchmark Results

| Entity Count | Value (updates/​sec) | Status | Baseline | Change |
|--------------|---------------------|--------|----------|--------|
| 100 | 170K | ✓ | 170K | 0.0% |
| 200 | 750K | ✓ | 750K | 0.0% |
| 1000 | 975K | ✓ | 975K | 0.0% |
| 5000 | 925K | ✓ | 925K | 0.0% |
| 10000 | 995K | ✓ | 995K | 0.0% |

#### Threading Efficiency
- Single-threaded (100): 170K updates/​sec
- Multi-threaded (5000): 925K updates/​sec
- Speedup: 5.4x

#### Statistical Summary
- Mean: 963K updates/​sec (across entity counts)
- Std Dev: 138K (14% CoV)
- Consistent performance across entity scales

---

### AI System - Integrated Benchmarks (Production Workload)

#### Purpose
Tests AIManager with PathfinderManager/​CollisionManager integration

#### Benchmark Results

| Entity Count | Value (updates/​sec) | Status | Baseline | Change |
|--------------|---------------------|--------|----------|--------|
| 100 | 569K | ✓ | 569K | 0.0% |
| 200 | 580K | ✓ | 580K | 0.0% |
| 500 | 611K | ✓ | 611K | 0.0% |
| 1000 | 1193K | ✓ | 1193K | 0.0% |
| 2000 | 1587K | ✓ | 1587K | 0.0% |

#### Threading Efficiency
- Single-threaded (100): 569K updates/​sec
- Multi-threaded (2000): 1587K updates/​sec
- Speedup: 2.8x

#### Statistical Summary
- Mean: 908K updates/​sec (across entity counts)
- Std Dev: 444K (49% CoV)
- Performance scales with entity count

---

### AI System - Integration Overhead Analysis

#### Overhead Metrics

| Entity Count | Synthetic | Integrated | Overhead | Assessment |
|--------------|-----------|------------|----------|------------|
| 100 | 170K/​s | 569K/​s | -70% | Data inconsistency* |
| 200 | 750K/​s | 580K/​s | +23% | Expected |
| 1000 | 975K/​s | 1193K/​s | -22% | Data inconsistency* |
| 2000 | N/​A | 1587K/​s | N/​A | N/​A |

*Note: Negative overhead indicates synthetic values are estimates while integrated are measured.
Expected overhead: 20-40% (integrated slower due to PathfinderManager)

#### Overhead Sources
- PathfinderManager: Path requests, cache lookups, A* computation
- CollisionManager: Spatial hash queries for neighbors
- Production behaviors: Complex state machines and calculations

**Stability Analysis:**
- ✓ FPS variance low (2.9% CoV) - excellent stability
- ✓ CPU usage consistent (0.3% stddev)
- ✓ Update time predictable (<1ms variance)

#### Performance Profile (Callgrind Hotspots)

Top functions by instruction reads:
1. `AIManager::updateBehaviors()` - 45.2% (expected, main update loop)
2. `AIManager::processBatch()` - 12.3% (batch processing)
3. `BehaviorCache::lookup()` - 8.7% (cache lookups)
4. `ChaseBehavior::executeLogic()` - 6.1% (behavior logic)
5. `PathfinderManager::requestPath()` - 4.2% (pathfinding integration)

**Analysis:** Hotspot distribution is as expected. Most time in core update loop.

#### Trend Analysis

Performance trend over time (vs historical baselines):

FPS History: Jan 2025: 62.3 FPS ← Current Dec 2024: 61.8 FPS (+0.8% improvement) Nov 2024: 59.2 FPS (+5.2% improvement)


📈 **Trend:** Improving steadily

#### Recommendations

1. **Maintain current performance** - AI system exceeds targets
2. **Monitor behavior update variance** - Consider additional caching
3. **Document batch processing optimization** - Apply pattern to other systems

Repeat similar detailed analysis for:

  • Collision System
  • Pathfinding System
  • Event Manager
  • Particle Manager
  • UI System
Section 3: Cross-System Analysis
## Cross-System Performance Comparison

### Frame Budget Analysis (60 FPS = 16.67ms budget)

| System | Time (ms) | % Budget | Status |
|--------|-----------|----------|--------|
| AI Update | 12.4 | 74.4% | ✓ |
| Collision Detection | 2.8 | 16.8% | ✓ |
| Pathfinding | 1.2 | 7.2% | ✓ |
| Event Processing | 0.5 | 3.0% | ✓ |
| Particle Update | 0.8 | 4.8% | ✓ |
| UI Rendering | 4.5 | 27.0% | ✓ |
| **Total** | **22.2** | **133.3%** | ⚠ |

**Note:** Total exceeds 100% because systems run on separate threads (update vs render).

**Update Thread Budget (60 FPS = 16.67ms):**
- AI: 12.4ms
- Collision: 2.8ms
- Pathfinding: 1.2ms
- Event: 0.5ms
- **Total Update:** 16.9ms (101% of budget) ⚠ Slight overrun

**Render Thread Budget:**
- Particle Render: 0.8ms
- UI Render: 4.5ms
- World Render: 3.2ms
- **Total Render:** 8.5ms (51% of budget) ✓ Plenty of headroom

### System Interaction Analysis

**AI ↔ Pathfinding:**
- Pathfinding requests/​frame: 15
- Average latency: 8.5ms
- Cache hit rate: 78%
- ✓ Integration efficient

**Collision ↔ Pathfinding:**
- Dynamic obstacle updates: 50/​frame
- Pathfinding weight adjustments: 12/​frame
- ✓ Integration smooth

**Event ↔ All Systems:**
- Event throughput: 8,500 events/​sec
- Dispatch latency: 0.12ms
- Queue depth: 128 events
- ✓ No bottlenecks detected

### Resource Usage Summary

**CPU Usage by System:**

AI Manager: 5.8% Collision Manager: 2.3% Pathfinder: 1.2% Event Manager: 0.8% Particle Manager: 1.5% UI Manager: 0.9% Total Engine: 12.5%


**Memory Usage:**

AI Manager: 45 MB Collision Manager: 32 MB Pathfinder: 18 MB Event Manager: 8 MB Particle Manager: 12 MB UI Manager: 15 MB Total Engine: 130 MB

Section 4: Optimization Opportunities
## Optimization Opportunities

### High Priority

1. **Update Thread Frame Budget Overrun**
   - Current: 16.9ms (101% of 16.67ms budget)
   - Impact: Occasional frame drops
   - Recommendation: Reduce AI update time by 0.5ms
   - Approach: Increase batch size or optimize behavior cache

2. **Event Dispatch Latency Increase**
   - Current: 0.12ms (up 8% from baseline)
   - Impact: Slight event processing delay
   - Recommendation: Profile event dispatch path
   - Approach: Reduce lock contention or optimize event routing

### Medium Priority

3. **Pathfinding Cache Hit Rate**
   - Current: 78%
   - Target: 85%+
   - Recommendation: Increase cache size or improve eviction policy
   - Expected Improvement: Reduce path calculation time by ~15%

4. **Particle Culling Efficiency**
   - Current: 88%
   - Target: 95%+
   - Recommendation: Improve camera frustum culling
   - Expected Improvement: Reduce render time by ~10%

### Low Priority

5. **UI Component Render Time**
   - Current: 4.5ms (stable, within budget)
   - Opportunity: Apply batching technique from particle system
   - Expected Improvement: Reduce to 3.5ms (~22% faster)
Section 5: Historical Trends
## Performance Trends

### AI System FPS Over Time

68 ┤ 66 ┤ ╭─ 64 ┤ ╭─╯ 62 ┤ ╭───╯ ← Current (62.3) 60 ┤ ╭─╯ 58 ┤╭─╯ 56 ┼───────────────────────── Nov Dec Jan 2024 2024 2025


**Trend:** 📈 Improving (+5.2% over 3 months)

### Collision System Query Time

0.12 ┤╮ 0.10 ┤ ╰╮ 0.08 ┤ ╰───────╮ ← Current (0.08ms) 0.06 ┤ ╰─ 0.04 ┼───────────────────────── Nov Dec Jan 2024 2024 2025


**Trend:** 📈 Improving (-33% over 3 months)

### Event Throughput

9000 ┤ ╭─── ← Current (8500/​sec) 8500 ┤ ╭─╯ 8000 ┤ ╭─╯ 7500 ┤╭─╯ 7000 ┼───────────────────────── Nov Dec Jan 2024 2024 2025


**Trend:** 📈 Improving (+21% over 3 months)
Section 6: Comparative Analysis
## Comparative Analysis

### Performance vs Industry Standards

| System | HammerEngine | Industry Avg | Status |
|--------|--------------|--------------|--------|
| Entity Count @ 60 FPS | 10,000 | 5,000-8,000 | ✓ Above Avg |
| Collision Checks/​sec | 125,000 | 80,000-100,000 | ✓ Above Avg |
| Event Throughput | 8,500/​sec | 5,000-10,000 | ✓ Average |
| Memory/​Entity | 13 KB | 10-20 KB | ✓ Average |

**Overall:** HammerEngine performs above industry averages for 2D game engines.

### Performance vs Project Goals

| Goal | Target | Current | Status |
|------|--------|---------|--------|
| 10K+ Entities @ 60 FPS | 60 FPS | 62.3 FPS | ✓ Exceeded |
| AI CPU Usage | <6% | 5.8% | ✓ Met |
| Event Throughput | 10K/​sec | 8.5K/​sec | ⚠ 85% of goal |
| Collision Efficiency | N/​A | 94.2% hash | ✓ Excellent |
| Pathfinding Speed | <10ms | 8.5ms | ✓ Met |

**Overall Progress:** 80% of goals met or exceeded
Section 7: Technical Details
## Technical Details

### Test Environment

- **Hardware:** <CPU-model>, <RAM-size>
- **OS:** Linux 6.16.4 (Bazzite Fedora 42)
- **Compiler:** GCC/​Clang <version>, C++20
- **Build Flags:** -O3 -flto -march=x86-64-v3 -mavx2
- **SDL Version:** SDL3 (latest)

### Benchmark Methodology

- **Duration:** 20 minutes total
- **Repetitions:** 5 runs per benchmark (median reported)
- **Warm-up:** 30 seconds per test
- **Isolation:** Tests run sequentially, system idle
- **Profiling:** Callgrind with 1% sampling

### Data Collection

- **Metrics Collection:** Automated via test scripts
- **Storage:** $PROJECT_ROOT/​test_results/ directory
- **Baseline:** Updated monthly
- **History:** 6 months retained

### Reliability

- **FPS Variance:** 2.9% CoV (excellent)
- **CPU Variance:** 5.1% CoV (good)
- **Memory Variance:** 1.2% CoV (excellent)

**Overall:** Results are highly reliable and reproducible.
Section 8: Appendices
## Appendix A: Raw Metrics

### AI System Benchmark (Raw Data)

Entities: 10000 FPS: 62.3 CPU: 5.8% Update Time: 12.4ms Batch Processing: 2.1ms Behavior Updates: 8.3ms Memory Usage: 45 MB Thread Safety: Mutex-protected Double Buffer: Enabled Cache Efficiency: 92%


<Include raw data for all systems>

## Appendix B: Callgrind Full Output

<Full callgrind_annotate output if available> ```

Appendix C: Test Scripts

All benchmark tests are located in:

  • tests/​test_scripts/​run_ai_system_benchmark.sh
  • tests/​test_scripts/​run_collision_benchmark.sh
  • <list all benchmark scripts>

Run full suite:

./​run_all_tests.sh --benchmarks-only

Appendix D: Baseline History

DateAI FPSCollision ChecksEvent Throughput
2025-01-1562.3125,0008,500
2024-12-1561.8120,0008,200
2024-11-1559.2110,0007,000
<Full historical baseline data> ```

Step 7: Format Report

Output Formats:

1. Markdown (Default)

Save to:

docs/​performance_reports/​performance_report_YYYY-MM-DD.md

Advantages:

  • Easy to read in text editor
  • Version control friendly
  • Can be converted to other formats
2. HTML (Optional)

Convert markdown to HTML:

# If pandoc available
pandoc performance_report.md -o performance_report.html \
  --standalone \
  --css=report_style.css \
  --metadata title="HammerEngine Performance Report"

Advantages:

  • Interactive charts (if using JavaScript)
  • Better for web viewing
  • Professional appearance
3. PDF (Optional)

Convert markdown to PDF:

# If pandoc + LaTeX available
pandoc performance_report.md -o performance_report.pdf \
  --pdf-engine=xelatex \
  --variable geometry:margin=1in \
  --variable fontsize=11pt \
  --metadata title="HammerEngine Performance Report"

Advantages:

  • Professional document
  • Easy to share with stakeholders
  • Print-ready

Step 8: Generate Summary Output

Console Output:

=== HammerEngine Benchmark Report Generated ===

Report Date: 2025-01-15 14:30:22
Benchmarks Analyzed: 6 systems
Metrics Collected: 42 data points
Baseline Comparison: Available (2024-12-15)

Performance Status: ✓ EXCELLENT

Key Highlights:
  ✓ AI System: 10,000 entities @ 62.3 FPS
  ✓ Collision: 125,000 checks/​sec
  ✓ Pathfinding: 8.5ms avg calculation
  ⚠ Event Dispatch: +8% latency (monitor)

Report Generated:
  📄 Markdown: docs/​performance_reports/​performance_report_2025-01-15.md
  🌐 HTML: docs/​performance_reports/​performance_report_2025-01-15.html
  📑 PDF: docs/​performance_reports/​performance_report_2025-01-15.pdf

Report Size: 2.3 MB (includes charts and raw data)
Generation Time: 2m 15s

Next Steps:
  1. Review optimization opportunities (Section 4)
  2. Address update thread budget overrun
  3. Monitor event dispatch latency trend
  4. Update baseline after validating improvements

---
Report ready for distribution

Usage Examples

When the user says:

  • "generate performance report"
  • "create benchmark report"
  • "document current performance"
  • "prepare performance analysis"
  • "make stakeholder report"

Activate this Skill automatically.

Report Customization Options

Ask user for:

  1. Report Scope:

    • All systems (default)
    • Specific systems only (specify which)
  2. Detail Level:

    • Executive summary only
    • Full detailed report (default)
    • Technical deep-dive (includes callgrind)
  3. Output Formats:

    • Markdown (always included)
    • HTML
    • PDF
  4. Include Sections:

    • Executive Summary
    • System Analysis
    • Trends
    • Callgrind Hotspots (if available)
    • Optimization Recommendations
    • Raw Data Appendices
  5. Comparison:

    • vs Baseline only
    • vs Historical baselines (trend)
    • vs Industry standards

Performance Expectations

  • Data Collection: 1-2 minutes
  • Analysis: 30-60 seconds
  • Report Generation: 30-60 seconds
  • Total Time: 2-4 minutes

Manual equivalent: 45-60 minutes

Integration with Workflow

Use this Skill:

  • After completing benchmark runs
  • Before milestone releases
  • For monthly performance tracking
  • When preparing stakeholder updates
  • To document optimization efforts
  • Before/​after major refactoring

File Management

Reports are saved to:

docs/​performance_reports/
├── performance_report_2025-01-15.md
├── performance_report_2025-01-15.html
├── performance_report_2025-01-15.pdf
└── latest_report.md (symlink to most recent)

Cleanup old reports:

# Keep last 12 months, archive older
find docs/​performance_reports/ -name "*.md" -mtime +365 -exec mv {} archive/ \;

Quality Assurance

Report includes:

  • ✓ All benchmark systems analyzed
  • ✓ Statistical validity checks (min 3 data points)
  • ✓ Trend analysis (if historical data available)
  • ✓ Clear status indicators (✓/⚠/❌)
  • ✓ Actionable recommendations
  • ✓ Professional formatting
  • ✓ Version information (git commit, date)
  • ✓ Reproducibility information (test environment)

Advanced Features

ASCII Charts

Generate simple ASCII charts for trends:

FPS Trend:
68 ┤          ╭─
66 ┤        ╭─╯
64 ┤      ╭─╯
62 ┤    ╭─╯
60 ┤  ╭─╯
58 ┤╭─╯
   └─────────────

Sparklines

Compact trend indicators:

  • AI FPS: ▁▂▃▅▆█ (improving)
  • Collision: ███▇▅▃ (degrading)

Color Coding (in HTML/​PDF)

  • 🟢 Green: Exceeds targets
  • 🟡 Yellow: Meets targets
  • 🟠 Orange: Below targets (warning)
  • 🔴 Red: Critical issues

Error Handling

If no benchmark data found:

  • Report: "No benchmark data available. Run benchmarks first:"
  • Show command: ./​run_all_tests.sh --benchmarks-only

If baseline missing:

  • Note in report: "No baseline for comparison. This will serve as baseline."
  • Save current metrics as baseline

If incomplete data:

  • Note missing systems in report
  • Generate partial report
  • Recommend running missing benchmarks

Exit Codes

  • 0: Report generated successfully
  • 1: No benchmark data found
  • 2: Report generation failed
  • 3: Partial report (missing data)

Time Savings

Manual Process: ~45-60 minutes

  • Collect metrics: 10 min
  • Calculate statistics: 15 min
  • Format tables: 10 min
  • Write analysis: 15 min
  • Generate charts: 10 min

With This Skill: ~2-4 minutes

  • Automated collection
  • Automated analysis
  • Automated formatting

Total Time Saved: ~40-55 minutes per report

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View