rust_logic_graph/memory/
mod.rs

1//! Memory optimization utilities
2//!
3//! This module provides memory pooling and optimization features to reduce
4//! allocations and improve performance in high-throughput scenarios.
5
6pub mod pool;
7pub mod metrics;
8
9pub use pool::{ContextPool, PoolConfig};
10pub use metrics::{MemoryMetrics, AllocationTracker};
11
12use std::sync::Arc;
13use parking_lot::RwLock;
14
15/// Global memory metrics instance
16static MEMORY_METRICS: once_cell::sync::Lazy<Arc<RwLock<MemoryMetrics>>> =
17    once_cell::sync::Lazy::new(|| Arc::new(RwLock::new(MemoryMetrics::default())));
18
19/// Get the global memory metrics instance
20pub fn global_metrics() -> Arc<RwLock<MemoryMetrics>> {
21    MEMORY_METRICS.clone()
22}
23
24#[cfg(test)]
25mod tests {
26    use super::*;
27
28    #[test]
29    fn test_global_metrics() {
30        let metrics = global_metrics();
31        assert_eq!(metrics.read().total_allocations(), 0);
32    }
33}