Skip to main content

Crate torsh_benches

Crate torsh_benches 

Source
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§

benchmark
Macro to create a simple benchmark
profile
Macro for scoped profiling

Structs§

BenchConfig
Benchmark configuration
BenchResult
Benchmark result
BenchRunner
Benchmark runner

Traits§

Benchmarkable
Trait for benchmarkable operations