자바스크립트 기준임
1번
for (let i=0; i<10000; i++) {
console.log(i);
}
2번
console.log(0);
console.log(1);
console.log(2);
...
console.log(9998);
console.log(9999);
console.log(9999);
아래는 내 가설
1. 1번 코드가 반복문을 사용했으니까 2번 코드에 비해 i증가연산, 비교연산이 추가로 필요해서 속도는 더 느릴것
2. 자바스크립트는 인터프리터 언어니까 10000줄인건 딱히 상관 없을거임
근데 실제로 getTime() 찍어보면 2번 성능이 매우 처참함
이유 아는사람?
2번이 함수를 console 객체에서 log 함수까지 불러내는 걸 계속하는거고 1번은 애초에 메모리에 console.log 세팅 해놓고 변수 불러내서 적용해서 그런거 아닐까
파이썬처럼 인터프리트 언어들은 함수 호출을 여러 번하면 속도 느려진다자너
2번의 메모리 접근이 1번 보다 훨씬 더 많아서 느린듯. 증가연산/비교연산 이런건 메모리 접근 없이 할 수 있는 거라 매우빠름