Expand description
Benchmarking suite for ToRSh
This crate provides comprehensive benchmarks for ToRSh to measure performance against other tensor libraries and track regressions.
§Architecture
The benchmarking suite is organized into specialized modules:
- core: Core comparison infrastructure and performance analysis
- ndarray_comparisons: ToRSh vs ndarray baseline comparisons
- pytorch_comparisons: PyTorch integration benchmarks (feature-gated)
- tensorflow_comparisons: TensorFlow comparison suite (feature-gated)
- jax_comparisons: JAX performance benchmarks (feature-gated)
- numpy_comparisons: NumPy baseline comparisons (feature-gated)
- reporting: Comprehensive reporting and analysis utilities
Additional specialized benchmarks include model-specific tests, hardware optimization benchmarks, edge deployment tests, and SciRS2 integration.
Re-exports§
pub use benchmarks::AdvancedSystemsBenchmarkSuite;pub use benchmarks::AutoTuningBench;pub use benchmarks::BackwardPassBench;pub use benchmarks::DataLoaderThroughputBench;pub use benchmarks::ErrorDiagnosticsBench;pub use benchmarks::GradientComputeBench;pub use benchmarks::MatmulBench;pub use benchmarks::SIMDGNNBench;pub use benchmarks::TensorArithmeticBench;pub use benchmarks::TensorCreationBench;pub use benchmarks::VectorizedMetricsBench;pub use core::ComparisonResult;pub use core::ComparisonRunner;pub use core::PerformanceAnalyzer;pub use reporting::benchmark_and_analyze;pub use reporting::benchmark_and_compare;pub use reporting::generate_master_comparison_report;pub use reporting::run_all_comparison_suites;pub use reporting::run_comparison_benchmarks;pub use reporting::run_extended_benchmarks;pub use metrics::CpuStats;pub use metrics::MemoryStats;pub use metrics::MetricsCollector;pub use metrics::PerformanceReport;pub use metrics::SystemMetrics;pub use utils::DataGenerator;pub use utils::Distribution;pub use utils::EnhancedBenchResult;pub use utils::EnhancedBenchSuite;pub use utils::Environment;pub use utils::EnvironmentInfo;pub use utils::Formatter;pub use utils::MemoryMonitor;pub use utils::ParallelBenchRunner;pub use utils::Timer;pub use utils::TimingStats;pub use utils::ValidationResult;pub use utils::Validator;pub use model_benchmarks::ModelBenchmarkSuite;pub use model_benchmarks::ResNetBlockBench;pub use model_benchmarks::TransformerBlockBench;pub use hardware_benchmarks::CPUGPUComparisonBench;pub use hardware_benchmarks::MemoryBandwidthBench;pub use hardware_benchmarks::MultiGPUBench;pub use hardware_benchmarks::ThermalThrottlingBench;pub use scalability::ScalabilityTestSuite;pub use precision_benchmarks::MixedPrecisionTrainingBench;pub use precision_benchmarks::PruningBench;pub use precision_benchmarks::QuantizationBench;pub use custom_ops_benchmarks::ConvolutionOperation;pub use custom_ops_benchmarks::CustomOpBench;pub use custom_ops_benchmarks::FFTOperation;pub use edge_deployment::BatteryLifeBench;pub use edge_deployment::EdgeInferenceBench;pub use edge_deployment::EdgeMemoryBench;pub use mobile_benchmarks::ARMOptimizationBench;pub use mobile_benchmarks::MobileGPUBench;pub use mobile_benchmarks::MobilePlatformBench;pub use wasm_benchmarks::BrowserSpecificBench;pub use wasm_benchmarks::WASMPerformanceBench;pub use wasm_benchmarks::WebDeploymentBench;pub use scirs2_benchmarks::AdvancedNeuralNetworkBench;pub use scirs2_benchmarks::AdvancedOptimizerBench;pub use scirs2_benchmarks::GraphNeuralNetworkBench;pub use scirs2_benchmarks::SciRS2BenchmarkSuite;pub use scirs2_benchmarks::SciRS2MathBench;pub use scirs2_benchmarks::SciRS2RandomBench;pub use scirs2_benchmarks::SpatialVisionBench;pub use scirs2_benchmarks::TimeSeriesAnalysisBench;pub use advanced_analysis::AdaptiveBenchmarking;pub use advanced_analysis::AdvancedAnalyzer;pub use benchmark_analysis::BenchmarkAnalyzer;pub use benchmark_analysis::BottleneckAnalysis;pub use benchmark_analysis::PerformanceAnalysis;pub use benchmark_analysis::PerformanceRating;pub use benchmark_validation::BenchmarkValidator;pub use benchmark_validation::NumericalAccuracy;pub use benchmark_validation::ValidationConfig;pub use ci_integration::CIBenchmarkRunner;pub use ci_integration::CIConfig;pub use ci_integration::NotificationConfig;pub use html_reporting::HtmlReportGenerator;pub use html_reporting::Theme;pub use performance_dashboards::DashboardConfig;pub use performance_dashboards::PerformanceDashboard;pub use regression_detection::AdvancedRegressionDetector;pub use regression_detection::RegressionAnalysis;pub use system_info::BenchmarkEnvironment;pub use system_info::SystemInfo;pub use system_info::SystemInfoCollector;pub use visualization::ChartType;pub use visualization::VisualizationGenerator;
Modules§
- advanced_
analysis - Advanced performance analysis and micro-benchmarking tools
- benchmark_
analysis - Enhanced benchmark analysis and reporting
- benchmark_
cache - Benchmark result caching system
- benchmark_
comparison - Advanced benchmark comparison and result aggregation utilities
- benchmark_
validation - Benchmark correctness validation and cross-architecture verification
- benchmarks
- Modular Benchmark System for ToRSh
- cached_
runner - Cached benchmark runner utilities
- ci_
integration - CI Integration for ToRSh Benchmarks
- comparisons
- Legacy comparison interface that delegates to specialized modules
- core
- Core infrastructure for ToRSh performance comparisons
- custom_
ops_ benchmarks - Custom operations benchmarks for ToRSh
- distributed_
training - Distributed Training Benchmarks
- edge_
deployment - Edge deployment benchmarks for ToRSh
- hardware_
benchmarks - Hardware-specific benchmarks
- html_
reporting - Advanced HTML reporting for ToRSh benchmarks
- metrics
- Comprehensive system metrics collection for benchmarks
- mobile_
benchmarks - Mobile performance benchmarks for ToRSh
- model_
benchmarks - Model architecture benchmarks
- ndarray_
comparisons - ndarray library comparisons
- performance_
dashboards - Performance Dashboards for ToRSh Benchmarks
- precision_
benchmarks - Mixed precision and quantization benchmarks
- prelude
- Common benchmark utilities
- regression_
detection - Advanced Regression Detection System for ToRSh Benchmarks
- reporting
- General benchmark reporting and analysis utilities for ToRSh
- scalability
- Scalability testing framework for ToRSh operations
- scirs2_
benchmarks - SciRS2 Integration Benchmarks
- system_
info - Enhanced system information gathering for benchmarking
- utils
- Utility functions for benchmarking
- visualization
- Advanced Visualization Tools for ToRSh Benchmarks
- wasm_
benchmarks - WebAssembly benchmarks for ToRSh
Macros§
Structs§
- Bench
Config - Benchmark configuration
- Bench
Result - Benchmark result
- Bench
Runner - Benchmark runner
Traits§
- Benchmarkable
- Trait for benchmarkable operations