vscode와 leetcode 웹사이트 상에서의 runtime 차이 #396
Replies: 2 comments 3 replies
-
자신의 코드 성능을 확인하시려면 말씀하신 것처럼 leetcode 수치를 보시면 정확할 것 같습니다. 자취방에서 택배회사까지 비행기를 타고 가든 걸어서 가든(Local to LeetCode) 택배회사서 고향집까지 택배 보내는데 소요되는 시간(LeetCode 런타임 측정 후 성능 평가)은 평균적으로 같을테니까요. |
Beta Was this translation helpful? Give feedback.
-
LeetCode에 나오는 런타임은 클라우드 환경에서 코드를 실행하는데 걸리는 시간입니다. 사용자별 인터넷 환경이나 네트워크 지연은 LeetCode의 런타임에 영향을 주지 않습니다. 따라서 LeetCode에서 제공하는 포지션을 그대로 받아드리시고 신뢰하셔도 큰 문제는 없으실 거라 생각합니다. 단, 동일한 코드를 실행하는데 실행할 때 마다 런타임이 조금씩 달라질 수 있습니다. 이 것은 Leetcode에서 제한된 하드웨어 리소스를 이용하여 동시에 여러 사용자의 코드를 실행하기 때문인데요. LeetCode의 월 방문자가 3000만명이 넘는다는 것을 고려해보시면 분산 시스템 환경에서 런타임이 항상 똑같이 나오는 게 오히려 더 이상할 것입니다. 따라서 혼자서 사용하시는 범용 컴퓨터에서 측정한 런타임과 다수의 사용자가 공유하고 있는 LeetCode의 실행 환경에서 측정한 런타임을 단순 비교하는 것은 무리가 있다고 생각합니다. LeetCode에서 개인 컴퓨터에 준하는 하드웨어 리소스를 단순히 답안 코드를 실행하는데 투자하는 것은 큰 낭비가 될테니까요. 사실 소프트웨어 엔지니어링에서는(특히 코딩 테스트에서는) ms나 MB로 나타내는 절대적인 실행 시간이나 메모리 사용량보다는 입력값의 크기 대비해서 알고리즘의 성능을 가늠하는 것이 훨씬 더 중요합니다. 하드웨어는 항상 발전하고 가용한 리소스는 비지니스 환경에 따라서 언제든지 변할 수 있기 때문에, 너무 이러한 절대적인 성능 수치에는 집착하지 않으셔도 될 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
leetcode 웹사이트에서 코드를 제출했을 때 뜨는 runtime이 제 로컬 vscode에서 startTime, endTime 코드 넣어서 측정한 runtime의 10배 정도가 나오는데, 이건 인터넷 연결 때문인 건가요?
제 runtime 길이에 따른 제 코드의 포지션("beats 몇%")이 나오는데, 다른 분들도 leetcode 웹사이트에서 코드를 제출할 때는 똑같이 이 정도 페널티(?)를 받고 있기 때문에 이 포지션이 실제 제 코드의 포지션이라고 받아들여도 되는지, 아니면 이 포지션이 개인의 인터넷 환경에 따라 믿을 수 없는 수치일 수도 있는 건지 궁금합니다.
감사합니다 :)
Beta Was this translation helpful? Give feedback.
All reactions