성능 (1) 썸네일형 리스트형 C API strcat을 무조건 신뢰하면 안되는 이유 회사에서 한창 마이크로그리드 플랫폼 프로젝트 진행 중에 C로 개발된 통신 프로그램의 성능이슈가 있어, 성능개선 작업중에 발견했던 문제를 공유합니다. C에서 문자열을 합칠 때, 흔히들 내장 API로 제공되는 sprintf 혹은 strcat을 많이 사용합니다. 하지만, 우리가 사용하는 strcat은 누적해서 문자열을 더해나가는 조건에선 상당히 비효율적으로 문자열을 합친다는 거 알고계셨나요?? strcat은 기본적으로 destination으로 주어진 문자열을 처음부터 문자열의 끝을 의미하는 '\0'를 만날 때까지 탐색한 뒤, '\0'부터 입력으로 주어진 source 문자열을 더해나갑니다. 만약 아래와 같은 코드가 실행된다고 가정해 봅시다. #define MAX_BUF 1000000 int main() { ch.. 이전 1 다음