유지보수 vs 최적화를 고려해야 하는 상황이라면 유지보수하기 좋은 코드를 먼저 고민해야 한다. 특히 최신 컴퓨터는 매우 빠르기 때문에 메모리 상에서 발생하는 연산을 몇 번 줄인다고 해도 실질적인 도움이 되지 않는 경우가 많다. 코드 변경 없이 성능 최적화를 하면 가장 좋겠지만, 성능 최적화는 대부분 단순함보다는 복잡함을 요구하고, 더 많은 코드들을 추가로 만들어야 한다. 최적화를 위해 유지보수 해야 하는 코드가 더 늘어나는 것이다. 그런데 진짜 문제는 최적화를 한다고 했지만 전체 애플리케이션의 성능 관점에서 보면 불필요한 최적화를 할 가능성이 있다. 특히 웹 애플리케이션의 경우 메모리 안에서 발생하는 연산 하나보다 네트워크 호출 한 번이 많게는 수십만배 더 오래 걸린다. 자바 메모리 내부에서 발생하는 연산을 수천번에서 한 번으로 줄이는 것보다,, 네트워크 호출 한 번 을 더 줄이는 것이 더 효과적인 경우가 많다.
가장 권장하는 방법은 개발 이후에 성능 테스트를 해보고 정말 문제가 되는 부분을 찾아서 최적화하는 것이다.
(참고) 프로그래밍에서 중복을 제거하고, 좋은 코드를 유지하는 핵심은 "변하는 부분과 변하지 않는 부분을 분리하는 것"이다
참고 및 출처: 김영한의 실전 자바 - 중급 1편
'프레임워크 > 웹 상식' 카테고리의 다른 글
정적 콘텐츠와 동적 콘텐츠 (3) | 2024.10.01 |
---|---|
썸머타임과 타임존 계산 (1) | 2024.08.28 |
사이드 이펙트(side effect) (0) | 2024.08.20 |
도커(docker)란? (0) | 2024.06.25 |
웹 기본지식 (1) | 2024.06.20 |