[질문] c언에서 cpu를 효율적으로 다루는법이 궁금합니다
글쓴이: visualplus / 작성시간: 화, 2008/11/11 - 5:02오후
c언어로 패킷캡쳐 프로그램을 만들고있는데.. cpu사용율이 엄청납니다..
그래서 체크를 해봤더니..
sprintf로 문자열 조합하는 부분,
printf로 출력하는부분,
struct timeval과 struct tm, strftime으로 시간계산하는 부분
즉 문자열 처리하는부분에서 대부분의 cpu가 사용됐습니다.
그래서.. c언어를 효율적으로 코딩하는법을 알고싶습니다.
혹시 도움이 될만한 책이나. 사이트 알려주시면 감사히 공부하겠습니다..
Forums:
예전 임베디드
예전 임베디드 리눅스에서 printf와 sprintf 함수가 상당히 느렸던 경험이 있습니다.
숫자를 문자열로 바꾸는 함수등 간단한 문자열 함수를 간단히 만들고 puts 함수 등을 사용해서 빠르게 구현했던 적이 있습니다.
정확한 버전은
정확한 버전은 기억나지 않지만 GCC 3.x 버전부터는 최적화 옵션(-O 계열)을 쓸 때, 코드에서 printf()에 전달된 문자열이 단순한 문자열 상수일 경우 자동으로 puts() 호출로 바꿔줍니다. 한 문자로 이루어진 문자열 상수일 경우에는 putchar()로 바꿔줍니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기