system_analysis/
lib.rs

1//! # System Analysis
2//!
3//! A comprehensive Rust library for analyzing system capabilities, workload requirements,
4//! and optimal resource allocation. This crate provides tools for determining if a system
5//! can run specific workloads, scoring hardware capabilities, and recommending optimal
6//! configurations.
7//!
8//! ## Features
9//!
10//! - Comprehensive system capability analysis
11//! - Workload requirement modeling and matching
12//! - Resource utilization prediction
13//! - Performance benchmarking framework
14//! - Bottleneck detection and analysis
15//! - Hardware capability scoring for different workload types
16//! - Resource allocation optimization
17//! - System compatibility checking
18//! - AI/ML workload specialization
19//! - Cross-platform support (Windows, Linux, macOS)
20//!
21//! ## Quick Start
22//!
23//! ```rust
24//! use system_analysis::{SystemAnalyzer, WorkloadRequirements};
25//!
26//! #[tokio::main]
27//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
28//!     let mut analyzer = SystemAnalyzer::new();
29//!     let system_profile = analyzer.analyze_system().await?;
30//!     
31//!     println!("System Overall Score: {}/10", system_profile.overall_score());
32//!     Ok(())
33//! }
34//! ```
35
36pub mod analyzer;
37pub mod capabilities;
38pub mod error;
39pub mod resources;
40pub mod types;
41pub mod utils;
42pub mod workloads;
43
44// Re-export main types for convenience
45pub use analyzer::SystemAnalyzer;
46pub use capabilities::CapabilityProfile;
47pub use error::{SystemAnalysisError, Result};
48pub use resources::{ResourceRequirement, ResourceType, CapabilityLevel};
49pub use types::{
50    CompatibilityResult, PerformanceEstimate, ResourceUtilization, SystemProfile,
51    UpgradeRecommendation, WorkloadRequirements,
52};
53pub use workloads::{AIInferenceWorkload, ModelParameters, Workload, WorkloadType};