더 빠른 코드 인 "ans = n * 3"또는 "ans = n + (n * 2)"로 컴파일됩니까?더 빠른 코드 "n * 3"또는 "n + (n * 2)"로 컴파일됩니까?
n은 int 또는 long 중 하나이며 최신 Win32 Intel 상자에서 실행되고 있다고 가정합니다.
일부 역 참조가 포함 된 경우, 즉 더 빠를 수 있습니까?
long a; long *pn; long ans; ... *pn = some_number; ans = *pn * 3;
또는
ans = *pn+(*pn*2);
또는, 최적화 컴파일러는 어떤 경우에도이 차지하는 가능성으로 걱정하지 않아도 뭔가 하나?
확실하지 않음 :) 임베디드 소프트웨어 개발을 위해 정말 이상한 컴파일러를 보았습니다. – aku
임베디드 시스템에서 거의 모든 기존의 지혜가 끝납니다. ;-) –