# ⚡ OVFL ECS v1.3.0 - 성능 개선 및 런타임 타입 지원
대규모 성능 최적화와 런타임 타입 지원으로 한층 더 강력해졌습니다!
## 🚀 주요 개선사항
### ⚡ 성능 대폭 향상
**컴포넌트 쿼리 최적화: O(n) → O(1)**
```csharp
// 기존: 매번 모든 엔티티 순회
// 개선: 컴포넌트 타입별 엔티티 캐시 활용
var entities = context.GetEntitiesWithComponent<PlayerComponent>(); // 즉시 반환
실제 성능 향상
- 1000개 엔티티 기준 100회 조회 시 100ms 이내 완료
- 시스템 수 증가 시에도 성능 저하 없음
- 매 프레임 검색 비용: O(시스템 수 × 엔티티 수) → O(시스템 수)
###🔧 런타임 타입 지원
Entity.AddComponent() 내부 구현 변경
// Before - 복잡한 리플렉션 코드 필요
var methods = typeof(Entity).GetMethods(BindingFlags.Public | BindingFlags.Instance);
// ...복잡한 리플렉션 로직
// After - 간단한 비제네릭 메서드 사용
entity.AddComponent(notifyComponent); // IComponent 타입으로 직접 추가
### 🏗️ 캐싱 시스템
- Dictionary<Type, HashSet<Entity>> 기반 캐시 구조
- 컴포넌트 추가/제거 시 자동 캐시 업데이트
- Entity 이벤트(OnComponentAdded, OnComponentRemoved)와 연동
- 엔티티 제거 시 모든 관련 캐시에서 자동 정리
### 📈 성능 벤치마크
- GetEntitiesWithComponent<T>(): 기존 대비 10-100배 성능 향상
- 메모리 효율성: 중복 검색 제거로 CPU 캐시 효율성 증대
- 확장성: 대용량 엔티티 환경에서도 일정한 성능 보장
### 📦 설치 방법
https://github.com/Overflower706/ecs.git?path=/Packages/com.ovfl.ecs#v1.3.0
### 🔄 마이그레이션 가이드
기존 코드는 완전히 호환됩니다. 추가된 기능들을 점진적으로 적용하세요
전체 변경사항은 CHANGELOG.md를 참고하세요.