-
Switch 와 if문 중 어느게 더 성능이 좋을까?알고리즘 2020. 10. 14. 10:38
코드 인스펙션을 받던 도중 선임 연구원분이 if, else로 된 부분을 switch case 문으로 바꾸라고 하셨습니다.
그래서 문득 의문이 들었습니다. switch랑 if문은 실제로 성능 차이가 있는걸까??
switch vs if 어떤 때 어느게 효율적인가요? | KLDP
저는 조건문이 4개 이하이면 그냥 if, else if 로 하고, 그 이상이면 switch case 문을 사용하고 있습니다. 그냥 짧은 것은 switch문 쓰면 너무 소스가 길어져서.. 그런데, 어떤게 어느때 사용해야 제대로
kldp.org
다음과 같은 사이트에서 해답을 찾을 수 있었습니다.
컴파일러가 최적화할때 switch가 더 유리하다는 답변을 확인했습니다.
많은 구현체들이 switch 문을 jump table로 구현하기 때문에 switch문이 더 좋은 성능을 나타낼 때가 많다고 합니다.
컴파일러나 코드 상황에 따라 다르지만 보통 if문이 3개 일때까지는 if, else가 더 빠르고 그 이상이면 switch, case 문을 사용하는것이 효율적 입니다.
그러나 if, else를 쓰던 switch, case를 쓰던 전체 프로그래밍 성능에 치명적인 영향을 끼치지는 않으므로 의미에 따라 사용하는 것이 좋습니다.