quantrs2_core/optimizations/
mod.rs

1//! Quantum Computing Optimizations using SciRS2 Beta.3 Features
2//!
3//! This module contains optimizations that leverage the advanced features
4//! available in scirs2-core beta.3, including:
5//!
6//! - Advanced caching and memoization
7//! - Memory pool management
8//! - Performance profiling and monitoring
9//! - SIMD-accelerated computations
10//! - Intelligent load balancing
11//!
12
13pub mod gate_cache;
14pub mod memory_optimization;
15pub mod profiling_integration;
16
17pub use gate_cache::{
18    global_gate_cache, CachedGateMatrix, GateKey, QuantumGateCache, QuantumGateCacheStats,
19};
20pub use memory_optimization::{
21    optimized_state_vector_allocation, QuantumBufferPool, StateVectorManager,
22};
23pub use profiling_integration::{
24    enable_quantum_profiling, QuantumOperationProfile, QuantumProfiler,
25};
26
27/// Initialize all optimization systems
28pub fn initialize_optimizations() -> crate::error::QuantRS2Result<()> {
29    // Initialize gate cache with common gates
30    global_gate_cache().prewarm_common_gates()?;
31
32    // Initialize memory pools
33    memory_optimization::initialize_buffer_pools();
34
35    // Enable profiling
36    profiling_integration::enable_quantum_profiling();
37
38    Ok(())
39}
40
41/// Get optimization statistics
42pub fn get_optimization_stats() -> OptimizationStats {
43    OptimizationStats {
44        gate_cache_stats: global_gate_cache().get_performance_stats(),
45        memory_stats: memory_optimization::get_memory_usage_stats(),
46        profiling_active: profiling_integration::is_profiling_active(),
47    }
48}
49
50/// Combined optimization statistics
51#[derive(Debug, Clone)]
52pub struct OptimizationStats {
53    pub gate_cache_stats: QuantumGateCacheStats,
54    pub memory_stats: memory_optimization::MemoryUsageStats,
55    pub profiling_active: bool,
56}