Skip to content

[performance] Regression in ExtractWorkflowNameFromFile: +19.8% slowerΒ #20807

@github-actions

Description

@github-actions

πŸ“Š Performance Regression Detected

Benchmark: BenchmarkExtractWorkflowNameFromFile

Current Performance: 82,538 ns/op (82.54Β΅s)
Historical Average: 68,885 ns/op (68.89Β΅s)
Change: +19.8% slower
Data Points: 1 historical entry (2026-03-12)

πŸ“ˆ Detailed Performance Metrics

Performance Comparison

Metric Yesterday Today Change
ns/op 68,885 82,538 +19.8%
B/op N/A 5,864 β€”
allocs/op N/A 116 β€”

Baseline Targets

  • Simple workflows: <100ms (well within range)
  • Complex workflows: <500ms (well within range)
  • MCP-heavy workflows: <1s (well within range)
  • ExtractWorkflowNameFromFile is a CLI helper, no explicit target β€” but regression threshold is 10%

πŸ” Context

This benchmark measures how quickly the CLI extracts workflow names from file paths. A regression here could impact workflows that enumerate or reference workflow files by name.

Note: this comparison is based on 1 historical data point β€” while the threshold has been crossed (+19.8% > 10%), it should be monitored over the next few runs to confirm this is a real regression and not measurement noise.

πŸ’‘ Recommended Actions

  1. Review recent changes to the workflow name extraction logic in pkg/cli/ or pkg/workflow/
  2. Run go test -v -run "TestExtractWorkflowName" ./pkg/cli/ to verify correctness
  3. Run go test -bench=BenchmarkExtractWorkflowNameFromFile ./pkg/cli/ -benchtime=10s for a more stable measurement
  4. Compare with previous benchmark results using benchstat
πŸ“‹ Full Benchmark Run Context (2026-03-13)
Benchmark ns/op Change Status
CompileSimpleWorkflow 22,680,852 +2.0% βœ“ Stable
CompileComplexWorkflow 5,791,573 +2.4% βœ“ Stable
CompileMCPWorkflow 15,948,627 +1.9% βœ“ Stable
CompileMemoryUsage 6,481,048 +4.0% βœ“ Stable
ParseWorkflow 7,665,307 -14.8% ✨ Improvement
Validation 6,062,525 -7.6% ✨ Improvement
YAMLGeneration 12,245,479 +1.6% βœ“ Stable
ExtractWorkflowNameFromFile 82,538 +19.8% ⚠️ Regression
FindIncludesInContent 32,851 -16.6% ✨ Improvement

References:

Generated by Daily CLI Performance Agent Β· β—·

  • expires on Mar 15, 2026, 2:43 PM UTC

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions