위의 compare_if 에 사용된 마지막 else 는 어차피 += 0 이라 컴파일 되지 않으니 생략.
8비트 자료형에 두 값 비교의 결과를 누적했을 때,
if else if else 구조랑
template< class T >
INLINE i32 quick_compare( const T a, const T b )
{
return -( a < b ) | ( a > b );
}
이렇게 짠거랑 37배 성능차이 난다.
a b 비교해서 작으면 -1 같으면 0 크면 1 을 리턴하는 기본 비교의 결과를 누적만 해본 성능 테스트지.
char 단위에선 37배, short 에서도 꽤 빠르다. int 이상 크기의 비교에선 소용없음.
부호가 있을수록 크기가 작을수록 엄청 빨라짐.
스샷의 compare_normal 이 아래 코드의 quick_compare 임. 네이밍 바꿔서 그럼.
큰 데이터 비교에서도 그렇게 차이가 큰가여?
아 ㅇ이미 리플달렸넹 ㅋㅋ