CPU사용량1 무거운 프로그램에 대한 최적화 #sleep과 #select 리눅스에서 c프로그램을 만들다 보면 실행하고 동작을 보고 테스트를 해보 끝을 내는 경우가 많다. 스펙대로 동작한다 단위 테스트를 해도 문제없었다 하면서 프로그램을 개발, 테스트를 하고 결국 문제가 없다 하면 배포가 되곤 한다. 하지만 “동작”이 잘되는 프로그램을 살펴보면 cpu사용량이 90%를 넘는 경우가 상당수이다. 외부장치의 키보드에서 키 입력을 기다리거나 특정 조건이 되면 처리를 하는 반복문 등에서 cpu를 쉬지 않고 계속 해당 루프를 돌게 해서 발생하는 문제다. 개발자 눈에는 소소의 각 함수가 천천히 돈다고 생각하지만 사실 임베디드 장치의 cpu라 해도 1초에 몇백만 번의 클럭이 발생하고 있고 함수는 몇만 번이 실행되고 있다. 그리고 cpu는 비명을 지르면서 개발자의 소스를 돌린다. 개발 초기라면.. 2021. 11. 28. 이전 1 다음