generateReport method

String generateReport()

Generate a report of all benchmarks.

Implementation

String generateReport() {
  final buffer = StringBuffer();
  buffer.writeln('═══════════════════════════════════════════════════════════');
  buffer.writeln('                    BENCHMARK REPORT');
  buffer.writeln('═══════════════════════════════════════════════════════════');
  buffer.writeln();

  for (final entry in _results.entries) {
    final summary = entry.value;
    buffer.writeln('┌─ ${summary.name} ─');
    buffer.writeln('│  Runs: ${summary.runCount}');
    buffer.writeln('│  Build Time: avg=${summary.avgBuildTime.inMicroseconds}μs, '
        'min=${summary.minBuildTime.inMicroseconds}μs, '
        'max=${summary.maxBuildTime.inMicroseconds}μs');
    buffer.writeln('│  Total Time: avg=${summary.avgTotalTime.inMicroseconds}μs, '
        'min=${summary.minTotalTime.inMicroseconds}μs, '
        'max=${summary.maxTotalTime.inMicroseconds}μs');
    buffer.writeln('│  Score: ${summary.avgScore.toStringAsFixed(1)}/100');
    buffer.writeln('│  FPS: ${summary.avgFps.toStringAsFixed(1)}');
    buffer.writeln('└─────────────────────────────────────');
    buffer.writeln();
  }

  return buffer.toString();
}