제발 아무도 C# .Net에서 설정하기 전에 속성 값을 확인하는 것이 더 성능이 좋고 값이 다른 경우에만 설정하는 것이 좋습니다. 아니면 맹목적으로 새 값으로 설정하는 것이 더 성능이 좋은가요? 예를 들어설정하기 전에 속성 값을 확인하고 설정이 다르게 설정되었거나 설정이 맹목적으로 설정되는 것보다 빠르거나 느린 경우?
:
bool newActiveState = true;
// Only set the value if it differs
if(myObject.IsActive != newActiveState)
{
myObject.IsActive = newActiveState;
}
bool newActiveState = true;
// Set it blindly
myObject.IsActive = newActiveState;
대 한 방법은 다른 것보다 더 나은 컴파일러 도움이됩니까? 한 가지 방법으로 더 나은 컴파일러 힌트를 제공합니까?
이득이 있다면 그것은 마이크로 최적화 일 뿐이지 만 방대한 중첩 재귀 루프에서는 알아두면 편리하다는 것을 알고 있습니다. ~ 아담 Houldsworth에 의해 정화 질문에 따라
업데이트 :
는 가정은 일반 재산이며, 어떤 코드가 설정에서 실행되지 않지만 나중에 코드는 속성 값을 읽고에만 그렇다면, 시간이 소요되는 프로세스를 수행 이 코드의 범위에 속하지 않습니다.
설정되는 데이터의 크기와 값이 변경 될 때 코드가 실행되는지 여부에 따라 다릅니다. –
이것은 데이터에 따라 다르지만 단순한 'bool'필드의 경우 차이는 무시할 수 있습니다. * (있는 경우) *. 확실히 마이크로 최적화. – Habib
좋아, 그래서 그냥 일반 속성 및 설정에서 실행되는 코드를 가정하지만 나중에 코드를 속성 값을 읽고 시간이 많이 소모되는 프로세스를 수행하므로이 코드의 범위를 않습니다. 질문을 업데이트 해 드리겠습니다. – Dib