어떤 코드가 좋은 코드일까요? 리눅스 프로그램 top 으로 비교하였을경우
글쓴이: timul16 / 작성시간: 토, 2014/02/15 - 2:46오후
같은 기능을 하는 두개의 프로그램을 테스트 해봤는데요
top으로 보면서 비교해봤습니다
비교 기준은 CPU%와 코드가독성 정도인데요
프로그램 1 : CPU :45%정도를 나타내며, 소스가 가독성이 편리합니다. 제가 딱봐도 쉽게 짜여진코드 깔끔하게 간결한코드
프로그램 2 : CPU : 35%정도를 나타내며, 가독성이 쉽지 않습니다. 코드가 지저분한 느낌
지금 프로그램2로 계속 쓰다가 프로그램1로 사용중인데요
가독성이 편하고 왠지 깔끔하다는 느낌에 top명령으로 보니 CPU부하율정도의 차이가 조금 있는데요
어떤것이 더 괜찮은걸까요?
Forums:
같은 기능을 하는데 10% 차이가
난다면 적지 않은 차이가 난다고 생각되는데요.
UDP/TCP, File I/O가 있다면 그 차이가 제일 클 것이라 생각되고요,,,,
그외에는.....
malloc(), 버퍼 관리 등.....
그런 부분에서 차이가 온다고 볼 수 있죠.
결론은 깔끔하게 짜여진 코드가 느릴 이유는 없다라는 겁니다.
가독성이 떨어지는 이유는 아주 여러가지라서..
여러사람이 대충 스파게티처럼 작성해놔서 가독성이 떨어질 수도 있지만
그냥 여러가지 최적화 및 고급 테크닉을 사용했고 주석에 인색하고 사용하는 라이브러리나 인덴트 방식이 자신이 주로 쓰던 것과 다르게 되어 있으면 이역시 가독성이 떨어지는 훌륭한 원인이 됩니다.
전자는 성능에 당연히 악영향을 미치겠고 후자는 그 반대겠죠. 결국 가독성과 코드 성능의 상관관계는 별로 없다는 생각입니다. 뒤집어 말하면 깔끔하게 짰다고 느릴 이유는 없지만 그렇다고 빠를 이유도 없다는 것.
--
가독성을 따질 때 코드가 간결하다는 건 겉보기일
가독성을 따질 때 코드가 간결하다는 건 겉보기일 뿐이고, 정확히는 중복이 얼만큼 잘 제거되었느냐로 따져야하죠.
그래서 가독성은 아는 만큼 보인다라는 말이 딱 적용됩니다.
중복이 잘 제거되어 있다면 느릴 이유가 없지만, 사실 언어적으로 지원하지 않는 중복제거 방법을 쓰면 느릴 수도 있습니다.
댓글 달기