들어가며C언어에서 조건문에는 if문, switch문이 있다. 논리적으로 둘은 치환 가능하다. 따라서 무엇을 선택할지에 대해서, 프로그래머의 단순한 "취향차이"로 치부하는 경우가 많다. 하지만, switch문은 컴파일러에 의해 최적화가 적용될 여지가 있다.컴파일러의 최적화규칙적인 조건이 많다면, if문이 아닌 switch문으로 작성하는 것이 좋다. 어셈블리어로 변환되는 것을 확인해 보자.개발환경Apple M1 ProMacOS Sonoma 14.3C89 clang 규칙적인 조건의 예시if_in_regular.c#include void if_in_regular(int value) { if (value == 1) { printf("Value is 1\n"); } else if (value..
들어가며C 코드를 작성할 때, "함수의 탈출 조건을 먼저 처리하는 것"과 "변수 선언을 먼저 하는 것"의 성능 차이에 대해 궁금했다. 탈출조건에 먼저 걸리는 클라이언트 코드가 많다면 탈출조건이 먼저 있는 게 좋을 것이고, 그렇지 않은 경우(탈출 조건에 먼저 걸리지 않는 클라이언트 코드가 많은 경우)라도 변수 선언과 탈출조건 중 어떤 것이 상단에 작성되더라도 둘 다 실행되어야 하기 때문에 탈출조건이 상단으로 가는 게 좋다고 생각된다. 분석 지점을 쉽게 표현하자면, 아래 두 포인트로 추려낼 수 있겠다.변수가 선언 시점에 명령어로 접수되는지아니면 사용 시점에 명령어로 접수되는지 또한, 선언 뿐만 아니라 초기화까지 했더라도 실제로 사용하는 시점에 명령어로 접수되는지도 궁금해졌다.만약, 컴파일러 최적화 중 변수가..
- Total
- Today
- Yesterday
- 논문추천
- Memory
- PS
- pocu
- Dispatcher Servlet
- core c++
- generic swap
- thread
- 이진탐색
- servlet
- Java
- S4
- reader-writer lock
- 개발 공부 자료
- 백준
- C
- sleep lock
- generic sort
- 객체 변조 방어
- JPA
- condition variable
- tree
- 톰캣11
- 엔티티 설계 주의점
- 연관관계 편의 메서드
- OOP
- Spring MVC
- CPU
- S1
- tomcat11
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |