비활성화 엔티티 제거가 성능에 미치는 영향
비활성화 엔티티를 설정에서 제거하면 패킷 파싱 과정에서 불필요한 state 매칭 작업이 줄어들어 성능이 향상됩니다.
패킷 처리 과정
패킷 수신 및 디바이스 순회: ProtocolManager.processPacket()는 수신된 패킷을 Buffer 형태로 모든 등록된 디바이스에 전달합니다. (불필요한 배열 변환을 줄여 메모리 할당을 최소화합니다)
패킷 매칭: 각 디바이스는 matchesPacket() 함수를 통해 패킷이 자신과 관련 있는지 확인합니다.
상태 추출: 매칭된 디바이스는 parseData()에서 CEL 표현식을 실행하여 상태를 추출합니다.
성능 영향
불필요한 처리: 비활성 엔티티도 패킷마다 매칭 및 CEL 실행 과정을 거치므로 CPU 자원을 소모합니다 메모리 사용: 모든 엔티티의 상태 정보가 메모리에 유지되어 메모리 사용량이 증가합니다