Skip to content

Commit c35275f

Browse files
authored
Merge pull request #25 from codegen-sh/codegen-cg-18634-add-benchmark-comparison-and-visualization
2 parents 071bc57 + 59feddb commit c35275f

File tree

17 files changed

+5501
-347
lines changed

17 files changed

+5501
-347
lines changed

BENCHMARKING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22

33
This document provides comprehensive instructions for running and understanding Grainchain sandbox provider benchmarks.
44

5+
## 📊 New: Advanced Analysis & Comparison Tools
6+
7+
Grainchain now includes powerful analysis capabilities to help you make data-driven decisions about provider selection and performance optimization.
8+
9+
### Quick Start with Analysis
10+
11+
```bash
12+
# Run benchmarks and analyze results
13+
grainchain benchmark --provider all
14+
grainchain analysis compare --provider1 local --provider2 e2b --chart
15+
grainchain analysis report --format html --include-charts
16+
```
17+
18+
### Key Analysis Features
19+
20+
- **Provider Comparison**: Compare performance metrics between providers
21+
- **Trend Analysis**: Track performance changes over time
22+
- **Regression Detection**: Automatically detect performance degradations
23+
- **Interactive Dashboards**: Visualize data with charts and graphs
24+
- **Comprehensive Reports**: Generate detailed analysis reports
25+
- **Provider Recommendations**: Get data-driven provider suggestions
26+
27+
For detailed analysis documentation, see the [Analysis Guide](docs/analysis_guide.md).
28+
529
## 🚀 Quick Start
630

731
### 5-Minute Benchmark Walkthrough

benchmarks/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,44 @@
22

33
This directory contains benchmarking infrastructure for testing and comparing different sandbox providers in the Grainchain project.
44

5+
## 📊 New: Benchmark Analysis & Comparison
6+
7+
Grainchain now includes powerful analysis tools to compare providers, analyze trends, and generate comprehensive reports.
8+
9+
### Quick Analysis Commands
10+
11+
```bash
12+
# Compare two providers
13+
grainchain analysis compare --provider1 local --provider2 e2b --chart
14+
15+
# Analyze performance trends
16+
grainchain analysis trends --provider local --days 30 --interactive
17+
18+
# Generate comprehensive report
19+
grainchain analysis report --format html --include-charts
20+
21+
# Detect performance regressions
22+
grainchain analysis regressions --threshold 0.1
23+
24+
# Get provider recommendations
25+
grainchain analysis recommend --use-case reliability
26+
27+
# Create performance dashboard
28+
grainchain analysis dashboard --interactive
29+
```
30+
31+
### Analysis Features
32+
33+
- **Provider Comparison**: Compare performance between different providers
34+
- **Trend Analysis**: Analyze performance trends over time with statistical insights
35+
- **Regression Detection**: Automatically detect performance regressions
36+
- **Visualization**: Generate charts, graphs, and interactive dashboards
37+
- **Comprehensive Reports**: Create detailed reports in HTML, Markdown, or PDF
38+
- **Provider Recommendations**: Get data-driven provider recommendations
39+
- **Configuration Management**: Customize analysis settings and preferences
40+
41+
For detailed analysis documentation, see [Analysis Guide](../docs/analysis_guide.md).
42+
543
## Overview
644

745
The benchmark suite evaluates sandbox providers across multiple scenarios:

benchmarks/analysis/__init__.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
Grainchain Benchmark Analysis Module
3+
4+
This module provides tools for analyzing, comparing, and visualizing
5+
benchmark results across different providers, time periods, and metrics.
6+
"""
7+
8+
from .comparator import BenchmarkComparator
9+
from .data_parser import BenchmarkDataParser
10+
from .models import BenchmarkResult, ComparisonResult, ProviderMetrics
11+
from .reporter import BenchmarkReporter
12+
from .visualizer import BenchmarkVisualizer
13+
14+
__all__ = [
15+
"BenchmarkDataParser",
16+
"BenchmarkComparator",
17+
"BenchmarkVisualizer",
18+
"BenchmarkReporter",
19+
"BenchmarkResult",
20+
"ProviderMetrics",
21+
"ComparisonResult",
22+
]
23+
24+
__version__ = "1.0.0"

0 commit comments

Comments
 (0)