프로그래밍

내장함수로 해결할수 있다면 그것을 사용하자!

열심히 자바스크립트를 공부하는 개붕이는 배열에 있는 가장 작은수를 찾아내는 함수를 for문을 이용해 만들다 문득 생각하게 된다.

 

"내장함수가 있다면 내장함수를 쓰는게 더 좋지않을까?"

 

내장함수만 쓰면 복잡한 코드를짤떄 기능적 로직적으로 원하는 정확한 결과값을 내는게 힘들수도  있으니 직접 코드를 짜는것이 확실한게 아닐까 싶으면서도

 

for에 for을 얹으면 연산이 너무 느려지진 않을까?? 좌우지간 궁금해 졌다....

 

 

스크린샷 2024-02-10 오후 9.27.13.png

 

일단 1000개의 랜덤 배열을 생성해주는 함수를 뚝딱!

 

 

스크린샷 2024-02-10 오후 9.27.21.png

 

배열중 가장 작은 숫자를 찾아주는 Math.min 을 사용한 함수 뚝딱

 

 

스크린샷 2024-02-10 오후 9.27.17.png

 

for문으로 만든 함수 뚝딱!

 

스크린샷 2024-02-10 오후 9.33.13.png

 

둘다 각각 10번을 돌려서 각각 연산에 걸린 시간의 평균값을 구해봤다

 

결과는 

 

 

for문은 1번 돌릴때 평균 2.73ms 소요

Math.min 은  0.06ms 소요....

 

생각했던것 보다 엄청난 차이가 났다..

 

아주 간단한 코드가 이정도라면 복잡한 코드에서는 더더욱 느려질수 있겠다는 생각을 했다.

 

1만개 10만개 가 되는 자료를 다뤄야 하는 코드를 짤경우 최적화가 무엇보다 중요하겠다는 생각이 들었따.

 

 

17개의 댓글

2024.02.10

2중 for문을 도는 이유가 있나요?

0
2024.02.10
@스비니

배열 요소 하나씩 가져와서 모든배열에 전부다 맞춰보고 작은숫자를 선언하게끔 만들었거든용....

0
2024.02.10
@코싸멘뚜

이해가 안 되는데.. 최소값을 찾는 건 O(n)에 해결되는 문제잖아요. 바깥 for문의 존재 이유가?

0
2024.02.10
@스비니

어,,,,,,? 그러네요? 어...?

0
2024.02.10
@코싸멘뚜

ㅎㅎ 착각하셨나 보네요..

 

내장 함수들은 보통 훌륭하신 프로그래머분들이 많은 상황들을 고려해서 작성하셨을 테니깐 일반적으로 사용이 권고되는 건 맞는 것 같아요.

0
2024.02.10
@스비니

한바퀴만 돌면 되는걸 1000바퀴를 더돌렸네요 ㄷㄷㄷ

0
2024.02.10

팡션? 너무 많이 쓰지 마세요

2
2024.02.10

이래서 STL 공부하면 좋긴 함ㅇㅇ 덜 귀찮아지고 성능도 보장되다보니 ㅇㅇ

0
2024.02.10

이걸 몰랐다고요?

프로그래머스나 백준 알고리즘 문제만 풀어봐도

내장 함수 안 쓰면 시간복잡도에서 바로 걸리는데;;

0
2024.02.11
@숨은음은

코린이라... 잘못라똠

0
@숨은음은

js 에서 math.min, max는 어떻게 구현했는지 몰라도 코테에서 가끔 이 함수땜에 시간초과 나기도 함ㅋㅋㅋㅋ 그리고 고차함수랑 구조분해할당도 이것땜에 시간초과 몇번 당하고서 코테에선 안쓰게 되더라…

0
2024.02.11

Do not reinvent the wheel

1
2024.02.11

손수 짠 로직 코드가 내장함수보다 빠르고 정확하면 모르는 곳에서 전화 수백통올듯

0
2024.02.11

너무 좋다 이런글 big o notation 좀 더 찾아봐 님이 재밌어할거 많을듯

0
2024.02.11

대부분 아님

sort만해도 내장소트 느려서 소트라이브러리 따로있음

 

C언어에 malloc도 더빠른애들 따로있고

0
2024.02.11

sum 도 없어서 reduce 조져야하는 좃스

0
2024.02.13

RTOS 펌웨어 짤떄 printf도 계속 호출하다보면 스택영역 부족해서 TASK 종료되서 따로 만들어쓰긴하는데 모든거에 적용되는건아님..

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5690 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 7 시간 전 136
5689 [프로그래밍] 반도체 장비 업계인 있음? 8 캡틴띠모 0 1 일 전 192
5688 [프로그래밍] 안드로이드 책 추천좀 6 집에가게해줘 0 1 일 전 122
5687 [프로그래밍] 폰 스크리닝 해 본 사람 있어? 3 무지개빛푸딩 0 2 일 전 354
5686 [프로그래밍] jsp 트리메뉴 만들고있는데 구상한게가능한지 의견좀물어볼께 11 평택국 0 2 일 전 141
5685 [프로그래밍] JPA 도와줘어억 ㅠ 10 모그리또 0 3 일 전 216
5684 [프로그래밍] 의사는 뽑는 인원 제한하는데 부캠은 왜 제한 안 할까 5 조강현 0 4 일 전 348
5683 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 8 일 전 615
5682 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 9 집에가게해줘 0 9 일 전 436
5681 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 9 일 전 239
5680 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 9 일 전 839
5679 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 12 일 전 403
5678 [프로그래밍] 개발자보단 엔지니어가 취업이 잘됨 5 iillillill 2 13 일 전 712
5677 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 13 잠적자 0 13 일 전 621
5676 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 14 일 전 230
5675 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 4 평택국 0 15 일 전 442
5674 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 19 쾅꿍꿍 0 16 일 전 596
5673 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 16 일 전 407
5672 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 17 일 전 738
5671 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 19 일 전 395