'아무것도 안 함'기본 이벤트 처리기를 사용하면 성능상의 단점이 있습니까?
public event EventHandler StatusChanged = (s,e) => {};
private void ChangeStatus()
{
StatusChanged(this, new EventArgs());
}
각 개체에 대해 해당 이벤트에 구독자가 등록되지 않은 경우 no-op 이벤트 처리기를 사용하면 성능상의 단점을 제공합니까? ? 아니면 CLR을 무시할만큼 똑똑합니까? 또는 이벤트를 시작하기 전에 StatusChanged
처리기를 확인하는 것이 좋습니다.
5000 개의 개체가 동시에 이벤트를 동시에 실행한다고 말하면 어떻게됩니까? 그게 눈에 띄는 효과가 있을까요? – Marcus
@Marcus : 5000은 3GHz 프로세서의 경우 큰 숫자가 아니지만 걱정되는 경우 빈 핸들러를 추가하는 대신 무효를 확인하십시오. –
@Marcus : Profiler 만 해당 질문에 대답 할 수 있습니다. –