Skip to content

[최현식] CH02 - 주석이 성능에 영향을 미칠까요? #1

Open
@chhs2131

Description

@chhs2131

🤔 왜 이슈를 생성했나요?

주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요!


😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까?

들어가며

대충 감은 잡히시겠지만! 한번 생각해보시면 좋을 것 같습니다.
그리고 생각하신 결과와 같은지 비교해보시면 재밌을 것 같아요 😄

_

결과

프로그래밍에서 주석은 코드를 이해하고 유지보수할 때 매우 유용합니다. 그러나 이러한 주석이 프로그램의 성능에 영향을 미치지 않는다는 것이 일반적인 생각입니다.

그렇다면 주석이 코드의 성능에 영향을 미치지 않을까요? 이 질문에 대한 답은 "그렇지 않다" 입니다. 주석은 프로그램의 런타임 성능에는 영향을 미치지 않습니다. 그러나 빌드 타임에는 영향을 미칠 수 있습니다.

아래 테스트를 참고해주세요 :)


테스트
단순한 주석으로 50만 라인(80mb)을 채우고, 빌드 타임 및 런타임 성능을 비교했습니다.
image


테스트 결과

런타임 확인 결과

  • 주석이 런타임 성능에 영향을 미치지 않습니다.
  • 주석 크기가 작든 크든 같은 유사한 실행시간을 보입니다.
  • 즉, 빌드된 파일에는 주석이 존재하지 않기 때문에 실행시간 차가 없는 것으로 보입니다.

빌드 타임 확인 결과

  • 주석은 빌드 타임에 영향을 미칩니다.
  • 로직에 복잡도 등에 따른 문제가 아니라, 단순히 파일 내용을 읽는 시간이 증가한 것 같습니다.
  • 그러나, 순수 주석 80MB 정도마다 빌드 타임이 1초 증가하는 것으로 확인되었습니다.
  • 즉, 사실상 주석의 양을 신경쓰면서 코드를 구성해야되는 수준이 아닙니다. ☺

📌 참고자료, 공유하고 싶은 자료

_

image

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions