bundled/skills/performance-testing/SKILL.md
Benchmark indicator performance with BenchmarkDotNet. Use for Series/Buffer/Stream benchmarks, regression detection, and optimization patterns. Target 1.5x Series for StreamHub, 1.2x for BufferList.
npx skillsauth add foryourhealth111-pixel/vco-skills-codex performance-testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
cd tools/performance
# Run all benchmarks (~15-20 minutes)
dotnet run -c Release
# Run specific category
dotnet run -c Release --filter *StreamIndicators*
dotnet run -c Release --filter *BufferIndicators*
dotnet run -c Release --filter *SeriesIndicators*
# Run specific indicator
dotnet run -c Release --filter *.EmaHub
[Benchmark]
public void ToMyIndicator() => quotes.ToMyIndicator(14);
[Benchmark]
public object MyIndicatorHub() => quoteHub.ToMyIndicatorHub(14).Results;
[Benchmark]
public MyIndicatorList MyIndicatorList() => new(14) { quotes };
[Benchmark]
public IReadOnlyList<MyResult> MyIndicatorSeries() => quotes.ToMyIndicator(14);
[Benchmark]
public IReadOnlyList<MyResult> MyIndicatorBuffer() => quotes.ToMyIndicatorList(14);
[Benchmark]
public IReadOnlyList<MyResult> MyIndicatorStream() => quoteHub.ToMyIndicator(14).Results;
Note: These are optimization goals for future v3.1+ effort. Current implementations vary—see PERFORMANCE_ANALYSIS.md for actual measured performance. Some indicator families (e.g., EMA) have inherent framework overhead due to simple operation costs.
| Style | Target vs Series | Use Case | | ----- | ---------------- | -------- | | Series | Baseline | Batch processing | | BufferList | ≤ 1.2x | Incremental data | | StreamHub | ≤ 1.5x | Real-time feeds |
Note: These are optimization targets. Actual execution times vary by indicator complexity and current implementation.
| Complexity | Time | Examples | | ---------- | ---- | -------- | | Fast | < 30μs | SMA, EMA, WMA, RSI | | Medium | 30-60μs | MACD, Bollinger Bands, ATR | | Complex | 60-100μs | HMA, ADX, Stochastic | | Advanced | 100-200μs+ | Ichimoku, Hurst |
# Auto-detect baseline and results
pwsh detect-regressions.ps1
# Custom threshold (default 10%)
pwsh detect-regressions.ps1 -ThresholdPercent 15
Exit codes:
0 - No regressions1 - Regressions foundcp BenchmarkDotNet.Artifacts/results/Performance.*-report-full.json \
baselines/baseline-v3.0.0.json
Span<T> for zero-copy operationsSee references/benchmark-patterns.md for detailed patterns.
Last updated: December 31, 2025
development
Chunked N-D arrays for cloud storage. Compressed arrays, parallel I/O, S3/GCS integration, NumPy/Dask/Xarray compatible, for large-scale scientific computing pipelines.
tools
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
tools
Spreadsheet toolkit (.xlsx/.csv). Create/edit with formulas/formatting, analyze data, visualization, recalculate formulas, for spreadsheet processing and analysis.
tools
High-performance CSV processing with xan CLI for large tabular datasets, streaming transformations, and low-memory pipelines.