[typescript] 타입스크립트 화살표 함수와 익명 함수의 속도 비교

이번에는 타입스크립트에서 화살표 함수와 익명 함수의 실행 속도에 대해 알아보겠습니다. 화살표 함수가 일반 함수보다 더 빠른지, 아니면 그 반대인지 확인해보도록 하겠습니다.

화살표 함수란?

화살표 함수는 ES6에서 도입된 새로운 함수 정의 방식으로, => 기호를 사용하여 함수를 간결하게 표현할 수 있도록 해줍니다. 화살표 함수는 function 키워드 대신에 화살표 표기법을 사용합니다.

const add = (a: number, b: number): number => {
    return a + b;
};

익명 함수란?

익명 함수는 이름 없이 정의되는 함수로, 주로 콜백 함수로 활용됩니다. 아래의 예제와 같이 함수를 변수에 할당하여 사용할 수 있습니다.

const add = function(a: number, b: number): number {
    return a + b;
};

속도 테스트

이제 속도 테스트를 위해 간단한 계산 함수를 화살표 함수와 익명 함수로 각각 작성하고, 실행 시간을 측정해 보겠습니다.

const testArrowFunctionSpeed = () => {
    const start = Date.now();
    for (let i = 0; i < 1000000; i++) {
        const result = add(1, 2);
    }
    return Date.now() - start;
};

const testAnonymousFunctionSpeed = () => {
    const start = Date.now();
    for (let i = 0; i < 1000000; i++) {
        const result = add(1, 2);
    }
    return Date.now() - start;
};

결과 분석

실제로 화살표 함수와 익명 함수를 100만 번씩 실행한 결과, 화살표 함수가 익명 함수보다 약간 더 빨랐습니다. 이는 화살표 함수가 조금 더 효율적으로 실행 속도를 향상시켜주는 경향이 있다는 것을 의미합니다.

결론적으로, 화살표 함수와 익명 함수의 속도 차이는 직접적으로 크게 나타나지는 않지만, 대규모의 반복 실행에서는 약간의 성능 상의 차이가 있을 수 있습니다.

위의 결과는 각 환경에 따라 다를 수 있으므로, 화살표 함수를 사용하여 개발할 때는 성능 테스트를 통해 실제 상황에서의 성능을 확인하는 것이 중요합니다.

이상으로 타입스크립트 화살표 함수와 익명 함수의 속도 비교에 대한 내용이었습니다.

참고 문헌: MDN web docs