C언어

프로그램의 성능향상 ( 쇼트서킷 )

JongSeok_12 2020. 2. 24. 15:49

쇼트서킷이란 ?

하지 않아도 될 연산을 생략해 논리 연산식의 효율을 높이는 것 이다.

1. 논리 연산식은 무조건 왼쪽에서 오른쪽으로 수행한다.

2. OR 논리식은 조건에 만족하면 이후 연산을 생략한다. 즉 앞에 위치한 조건이 참일 경우 OR 논리에 의해 뒤의 연산은 수행하지 않고 바로 참을 반환한다.

3. AND 논리식은 조건에 만족하지 않으면 연산은 생략한다. 즉 앞에 위치한 조건이 거짓일 경우 AND 논리에 의해 뒤의 연산은 수행하지 않고 바로 거짓을 반환한다.

4. 혼합 논리식에서 AND는 한 덩어리로 묶고 OR의 연속으로 살핀다.

EX ) nAge >= 20 && nAge <= 30 || nHeight >= 150 

 

위와 같은 쇼트서킷을 활용하여 프로그램을 작성하면 성능향상에 도움을 준다. 그렇다면 어떤식으로 쇼트서킷을 활용해야 하나 ?

1. 쉬운연산을 먼저 수행시킨다. 즉 CPU가 빠른 속도로 연산할 수 있는 속도로 수행시킨다.

2. 해당 연산식이 자주 적중할 순서대로 작성한다.