use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BenchmarkingConfig {
pub metrics_config: BenchmarkMetricsConfig,
pub hardware_testing: HardwareTestingConfig,
pub comparison_config: AlgorithmComparisonConfig,
pub continuous_benchmarking: ContinuousBenchmarkingConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BenchmarkMetricsConfig {
pub metrics: Vec<String>,
pub aggregation_methods: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HardwareTestingConfig {
pub test_backends: Vec<String>,
pub test_duration: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AlgorithmComparisonConfig {
pub comparison_metrics: Vec<String>,
pub significance_threshold: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContinuousBenchmarkingConfig {
pub enable_continuous: bool,
pub benchmark_frequency: u64,
}