epyr.performance
Performance Optimization Module for EPyR Tools
This module provides performance optimizations for handling large EPR datasets: - Memory-efficient data loading - Chunked processing for large files - Caching system for frequently accessed data - Memory usage monitoring and optimization
- Usage:
from epyr.performance import OptimizedLoader, DataCache
# Use optimized loader for large files loader = OptimizedLoader(chunk_size_mb=10, cache_enabled=True) x, y, params = loader.load_epr_file(file_path)
# Use caching for repeated access cache = DataCache(max_size_mb=100) cached_data = cache.get_or_load(file_path, load_function)
Functions
Get the global data cache instance. |
|
Return current system performance metrics. |
|
Configure NumPy for optimal performance. |
Classes
|
LRU cache for frequently accessed EPR data files. |
Monitor and optimize memory usage during data processing. |
|
|
Optimized data loader for large EPR datasets. |
- class epyr.performance.MemoryMonitor[source]
Monitor and optimize memory usage during data processing.
- static get_memory_info()[source]
Get current memory usage information.
- Returns:
{rss, vms, percent}
- Return type:
Dict with memory info in MB
- class epyr.performance.DataCache(max_size_mb=None)[source]
LRU cache for frequently accessed EPR data files.
- Parameters:
max_size_mb (int | None)
- __init__(max_size_mb=None)[source]
Initialize data cache.
- Parameters:
max_size_mb (int | None) – Maximum cache size in MB. Uses config default if None.
- class epyr.performance.OptimizedLoader(chunk_size_mb=None, cache_enabled=True)[source]
Optimized data loader for large EPR datasets.