2011-10-26 2 views
0

이들 중 어느 것이 가장 효율적/더 작은 바이너리 코드를 생성합니까?iPhone - 가장 효율적이고 작은 코드를 생성합니까?

int sum = 0; 
for (NSNumber * oneObj in objArray) { 
    if ([oneObj intValue] > 10) 
     sum += [oneObj intValue]; 
    else 
     sum -= [oneObj intValue]; 
} 

또는 본은?

int sum = 0; 
for (NSNumber * oneObj in objArray) { 
    sum += ([oneObj intValue] > 10) ? oneObj : -oneObj; 
} 

은이 압축 된 형태로 IF를 작성 어떤 차이가 있습니까?

+3

에게 아마 어쨌든 그것을 최적화 컴파일러를 표현하는 두 가지 방법, 그래서 나는 모두 같은 것 같은데요. – skyuzo

+0

나는 이것에 또한 아주 흥미있다. 답변을 얻은 사람이 세부 정보를 제공합니다. –

+5

나에게는 조숙 한 최적화와 같은 냄새가 난다. –

답변

2

컴파일 된 버전은 동일합니다.

이 같은 일

+3

'[표창장은 필요로했다]' –

+1

@Matt is is Wikipedia. 동의하지 않으면, downvote! –

+0

예, 조기 최적화의 높은 천국에 대한 냄새 –

관련 문제