본문 바로가기
개발 노트/기초 지식

for 문 연산 속도를 조금이라도 더 빠르게 하는 법

by tokkiC 2022. 7. 24.

몇 가지 for문을 사용할때의 팁을 찾았다 정리해보자

빠르게! 더욱 빠르게!

i++ 보다 i--가 속도가 더 빠르다


for 문을 사용할 때 지금까지 난 그냥 i++을 주로 사용했는데

for 문에서 --가 성능 상 더 빠르다는 말을 들어서 여기저기 찾아보았다

결과부터 말하자면 i++보다 i--가 더 빠르다 ( 단, i >0 처럼 0 까지 --할때만 한정)

정확히는 i--가 더 빠르다기보다 i++을 하건 i -= 4를 하건 중간의 비교식에서 우항이 0이냐 아니냐가 중요하다

비교식에서 우항이 0이면 evaluate - 평가 를 하고 // 그거 이거냐? 0은 false 이므로 결과 과정이 더욱 짧다

우항이 0이 아니면 compare - 비교 를 하기 때문이다 // 그거보다 크냐/작냐 크기를 비교해야 하므로 더 걸린다

**그러니 조건의 우항을 0으로 하여 조건을 거는게 더 빠른 연산에 도움을 줄것이다**

.

조건마다 매번 계산하지 않도록 미리 결과를 계산하여 변수로 넣어주자


for(var i = 1; i <= array.length; i++)

위처럼  array.length를 사용할 경우 매 조건마다 저 값을 계산하므로 비효율적이고 처리속도가 느려진다

그러니 아래와 같이 미리 계산하여 그 값을 변수로 넣어서 사용하자

const len = arr.length
for(var i = 1; i <= len; i++)

 

**참고 링크

https://stackoverflow.com/questions/1340589/are-loops-really-faster-in-reverse

 

Are loops really faster in reverse?

I've heard this quite a few times. Are JavaScript loops really faster when counting backward? If so, why? I've seen a few test suite examples showing that reversed loops are quicker, but I can't fi...

stackoverflow.com

 

댓글