for vs map, forEach 처리 속도

Jinmin Kim·2025년 6월 12일

for vs map, forEach

우연히 예전 기술블로그를 보다가,
javascript의 for문과 map,forEach가 데이터 처리 속도가 다르다는것을 알게되었다.

map, forEach가 유지보수, 그리고 개발자가 가독성이 좋게 보여서
계속 사용중인데, 네이티브 for가 약 1.5–3배 빠르다고하는것이 조금의 충격이다.

하지만 V8등의 현대의 엔진에서는 엔진내부에서 최적화를 해주어서,
너무 정말 큰차이는 많이 나지않는다고한다.

10,000건 이상: native for
10,000건 이하: map, foreach
를 사용하는것이 추천해주는 갯수라는데,

먼저 지피티는 차이가 나는 이유에 대해서 아래와 같이 설명한다.

방식동작오버헤드
forEach내부적으로 콜백 함수를 매 요소마다 호출콜스택 진입·탈출, 클로저(콜백) 컨텍스트 생성 비용 발생
for한 번에 루프 컨트롤만 수행 → 인덱스 연산을 통해 배열 요소 직접 접근함수 호출이 없으므로 순수 인덱스 접근(arr[i])만 이뤄짐

왠만한 개발을 할때에는 가독성을 위해서 map을 사용해도 되겠다.
거의 차이가 안난다고하니깐
참고 : https://techblog.woowahan.com/2547/

profile
Let's do it developer

0개의 댓글