Title: [최현식] CH02 - 주석이 성능에 영향을 미칠까요? · Issue #1 · Invincible-Backend-Study/java-basic · GitHub
Open Graph Title: [최현식] CH02 - 주석이 성능에 영향을 미칠까요? · Issue #1 · Invincible-Backend-Study/java-basic
X Title: [최현식] CH02 - 주석이 성능에 영향을 미칠까요? · Issue #1 · Invincible-Backend-Study/java-basic
Description: 🤔 왜 이슈를 생성했나요? 주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요! 😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까? 들어가며 대충 감은 잡히시겠지만! 한번 생각해보시면 좋을 것 같습니다. 그리...
Open Graph Description: 🤔 왜 이슈를 생성했나요? 주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요! 😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까? 들어...
X Description: 🤔 왜 이슈를 생성했나요? 주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요! 😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까? 들어...
Opengraph URL: https://github.com/Invincible-Backend-Study/java-basic/issues/1
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[최현식] CH02 - 주석이 성능에 영향을 미칠까요?","articleBody":"## 🤔 왜 이슈를 생성했나요?\r\n주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요! \r\n\r\n\u003cbr\u003e\r\n\r\n## 😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까? \r\n### 들어가며\r\n대충 감은 잡히시겠지만! 한번 생각해보시면 좋을 것 같습니다. \r\n그리고 생각하신 결과와 같은지 비교해보시면 재밌을 것 같아요 😄\r\n\r\n_\r\n\r\n### 결과\r\n프로그래밍에서 주석은 코드를 이해하고 유지보수할 때 매우 유용합니다. 그러나 이러한 주석이 프로그램의 성능에 영향을 미치지 않는다는 것이 일반적인 생각입니다.\r\n\r\n그렇다면 주석이 코드의 성능에 영향을 미치지 않을까요? 이 질문에 대한 답은 \"그렇지 않다\" 입니다. 주석은 프로그램의 런타임 성능에는 영향을 미치지 않습니다. 그러나 빌드 타임에는 영향을 미칠 수 있습니다.\r\n\r\n아래 테스트를 참고해주세요 :)\r\n\r\n\u003cbr/\u003e\r\n\r\n**테스트**\r\n단순한 주석으로 50만 라인(80mb)을 채우고, 빌드 타임 및 런타임 성능을 비교했습니다.\r\n\r\n\r\n\u003cbr/\u003e\r\n\r\n**테스트 결과**\r\n\r\n런타임 확인 결과\r\n\r\n- 주석이 런타임 성능에 영향을 미치지 않습니다.\r\n- 주석 크기가 작든 크든 같은 유사한 실행시간을 보입니다.\r\n- 즉, 빌드된 파일에는 주석이 존재하지 않기 때문에 실행시간 차가 없는 것으로 보입니다.\r\n\r\n빌드 타임 확인 결과\r\n\r\n- 주석은 빌드 타임에 영향을 미칩니다.\r\n- 로직에 복잡도 등에 따른 문제가 아니라, 단순히 파일 내용을 읽는 시간이 증가한 것 같습니다.\r\n- 그러나, 순수 주석 80MB 정도마다 빌드 타임이 1초 증가하는 것으로 확인되었습니다. \r\n- 즉, 사실상 주석의 양을 신경쓰면서 코드를 구성해야되는 수준이 아닙니다. ☺\r\n\r\n\r\n\u003cbr\u003e\r\n\r\n## 📌 참고자료, 공유하고 싶은 자료\r\n- [OKKY 주석이 성능에 영향을 미칠까요?](https://okky.kr/questions/213175)\r\n\r\n_\r\n\r\n- 인텔리제이에서 크기가 큰 파일을 허용하지 않습니다. 기본적으로 파일 크기를 2.5메가로 제한하고 있습니다. 먼저 큰 파일을 IDE에서 접근할 수 있도록 설정을 수정합니다.\r\n\r\n - [[IntelliJ][이슈] The file size exceeds the configured limit. Code insight features are not available.](https://youn12.tistory.com/46)\r\n\r\n - [[IntelliJ] The file size ... exceeds configured limit ... Code insight features are not available 에러 해결방법](https://hbase.tistory.com/373)\r\n\r\n- 또한 빌드 시 Out Of Memory 에러가 발생하면, 인텔리제이에서 메모리 사이즈를 늘려야 합니다.\r\n - [[IntelliJ] Build 시 Out Of Memory 대처법](https://inseok9068.github.io/intellij/intellij-build-error/)\r\n\r\n\r\n\r\n","author":{"url":"https://github.com/chhs2131","@type":"Person","name":"chhs2131"},"datePublished":"2023-04-03T14:03:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/1/java-basic/issues/1"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:4628bdc5-8c59-d95a-4309-4825d1493f51 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D3A6:27CBC5:317B05A:457DD63:6979206E |
| html-safe-nonce | 4cac7f7ea49211096aa450c1472bfbcfc6805fb05f0d2ec1eaaf8fe684b31778 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEM0E2OjI3Q0JDNTozMTdCMDVBOjQ1N0RENjM6Njk3OTIwNkUiLCJ2aXNpdG9yX2lkIjoiNjk1MjUxNDk1NjgzMDUxNTMxMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 31febb1c09651fb7e45f2d9b410a7e594d389393e191341ef762321c57a1dd99 |
| hovercard-subject-tag | issue:1652137601 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/Invincible-Backend-Study/java-basic/1/issue_layout |
| twitter:image | https://opengraph.githubassets.com/69989a65f1d74f81ebb59609204dcfdc85a14f302dafbf23756743cea855fd19/Invincible-Backend-Study/java-basic/issues/1 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/69989a65f1d74f81ebb59609204dcfdc85a14f302dafbf23756743cea855fd19/Invincible-Backend-Study/java-basic/issues/1 |
| og:image:alt | 🤔 왜 이슈를 생성했나요? 주석(어노테이션을 제외한 // /**/)은 로직에 영향을 주지 않습니다. 그렇다면 성능에도 영향을 주지 않을까요? 런타임과 빌드타임 관점에서 궁금증이 들어서 확인해봤습니다. 과연 성능에 차이가 생겼을까요? 차이가 났다면 얼마나 생겼을까요! 😁 공유하고 싶은 내용 : 주석은 성능에 영향을 미치지않는다고 했는데, 정말일까? 들어... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | chhs2131 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3c7f9dd0916337a11e6ea9c7a54b96960b654425bd4240b9643d6c3af745492e |
| turbo-cache-control | no-preview |
| go-import | github.com/Invincible-Backend-Study/java-basic git https://github.com/Invincible-Backend-Study/java-basic.git |
| octolytics-dimension-user_id | 122281532 |
| octolytics-dimension-user_login | Invincible-Backend-Study |
| octolytics-dimension-repository_id | 619187462 |
| octolytics-dimension-repository_nwo | Invincible-Backend-Study/java-basic |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 619187462 |
| octolytics-dimension-repository_network_root_nwo | Invincible-Backend-Study/java-basic |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a2ee5467a024047ab777ae5b5b3ee378f2e75635 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width