비교는 '<' '<='보다 빠름?
복잡한 루프 코드와 관련된 특정 시나리오에서는 '<' 연산자는 '<=' 연산자보다 빠를 수 있습니다. 이 주장을 조사하기 위해 이러한 비교를 위해 생성된 기본 기계 코드를 살펴보겠습니다.
코드 생성
x86 아키텍처에서 적분 비교는 일반적으로 두 개의 기계 명령어를 사용하여 구현됩니다.
'<' 및 '<=' 비교에서는 첫 번째 명령어(cmp)가 동일합니다. 차이점은 두 번째 명령에 있습니다.
실행 시간
실행 시간은 대기 시간과 처리량에 따라 결정됩니다. jge 및 jg 명령어의 경우 0사이클의 동일한 대기 시간과 0.5사이클의 처리량을 갖습니다. 이는 실행하는 데 동일한 시간이 소요된다는 것을 의미합니다.
부동 소수점 비교
fucomip 명령어를 사용하는 x87 부동 소수점 비교에도 동일한 원칙이 적용됩니다. EFLAGS 레지스터를 확인하는 데 사용되는 seta 및 setae 명령어도 실행하는 데 동일한 시간이 걸립니다.
결론
대부분의 아키텍처에서 '<' 및 '<=' 연산자는 정수 및 부동 소수점 비교에 대해 동일한 실행 시간을 갖습니다. '<'라는 가정 일반적인 경우에는 더 빠를 수도 있다는 것은 잘못된 것입니다.
위 내용은 '인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!