Files
Hydra-Engine/scripts/benchmark.py
2026-03-30 13:19:11 +09:00

37 lines
1010 B
Python

#!/usr/bin/env python3
"""HYDRA 하드웨어 벤치마크."""
import time
import math
import typer
import psutil
def cpu_benchmark(seconds: int = 3) -> float:
"""단순 연산 벤치마크. ops/sec 반환."""
count = 0
end = time.monotonic() + seconds
while time.monotonic() < end:
math.sqrt(2 ** 32)
count += 1
return count / seconds
def main(profile: str = "lite"):
typer.echo(f"🔬 벤치마크 시작 (프로필: {profile})")
mem = psutil.virtual_memory()
typer.echo(f" RAM: {mem.total // 1024**3}GB 사용 가능: {mem.available // 1024**3}GB")
ops = cpu_benchmark(2)
typer.echo(f" CPU 연산: {ops/1e6:.1f}M ops/sec")
thresholds = {"lite": 50, "pro": 100, "expert": 200}
min_ops = thresholds.get(profile, 50) * 1e6
if ops >= min_ops:
typer.echo(f" ✅ 벤치마크 통과")
else:
typer.echo(f" ⚠️ 성능 미달 (권장: {min_ops/1e6:.0f}M ops/sec)")
if __name__ == "__main__":
typer.run(main)