Chillax in dev

[PHP] 내가 작성한 코드의 실행 시간을 알고 싶다면? 본문

PHP & MySQL

[PHP] 내가 작성한 코드의 실행 시간을 알고 싶다면?

Seong Story 2023. 11. 12. 22:23
728x90

내가 작성한 코드의 실행 시간을 알아봅니다.

우리가 코드를 작성할 때 항상 염두해야 할 점이 뭐가 있을까요?

많은 데이터를 View딴에서 수행할 때 항상 걱정하게 되는 것은 처리 속도가 아닐까 생각해요.

특히 내가 작성한 코드가 많은 데이터를 헨들링해야하거나 처리하는 중 많은 loop를 순환하는 과정에서 어떤 부분에서 딜레이가 되는지 알면 코드를 최적화하는데 도움이 될 것입니다. 

 

웹 브라우저에서 지원하는 로컬 스토리지 및 쿠키의 용량 제한 살펴보기

이를 고려하기위해서 우선 브라우저를 기준으로 화면에 데이터를 뿌려주는 상황을 가정해 보면 클라이언트의 브라우저 기준으로 얼마나 많은 데이터 처리가 가능한지 메모리의 한계를 파악하는 것도 중요하겠는데요.

 

흔히 메모리 때문에 페이지가 죽는경우는 대부분 브라우저 메모리 초과일 가능성이 많기때문이에요.

브라우저 메모리를 초과한 경우

 

 

웹 브라우저에서 지원하는 로컬 스토리지 및 쿠키의 용량 제한은 브라우저마다 다를 수 있어요.

아래는 주요 브라우저들의 로컬 스토리지 및 쿠키 용량 제한에 대한 기본 정보입니다.  하지만 브라우저 버전이나 설정에 따라 변할 수 있으므로 최신 정보를 확인하는 습관을 만드는 것이 좋겠네요.

 

  1. Chrome:
    • 로컬 스토리지: 대략 5MB
    • 쿠키: 대략 4KB/쿠키, 도메인당 약 50개의 쿠키, 전체 쿠키 제한은 도메인당 약 180개
  2. Firefox:
    • 로컬 스토리지: 대략 5MB
    • 쿠키: 대략 4KB/쿠키, 도메인당 약 50개의 쿠키, 전체 쿠키 제한은 도메인당 약 3500개
  3. Safari:
    • 로컬 스토리지: 대략 5MB
    • 쿠키: 대략 4KB/쿠키, 도메인당 약 50개의 쿠키
  4. Edge:
    • 로컬 스토리지: 대략 5MB
    • 쿠키: 대략 4KB/쿠키, 도메인당 약 50개의 쿠키

이러한 제한은 단일 도메인에 대한 것이며, 다양한 도메인 간에는 서로 다른 쿠키 저장소가 사용됩니다.

 항상 프론트 개발할 때 이러한 용량 제한을 고려하여 프로그램하는 것이 좋겠습니다.

 

[php] 코드 실행 시간 확인 함수 만들어 사용하기

 measureExecutionTime()함수를 호출하여 php 코드 실행 시간을 확인할 수 있습니다.

<?php
function measureExecutionTime()
{
    // 시작 시간 기록
    $startTime = microtime(true);

    // 여기에 코드를 넣습니다.
    for ($i = 0; $i < 1000000; $i++) {
        // 작업 수행
    }

    // 종료 시간 기록
    $endTime = microtime(true);

    // 실행 시간 계산
    $executionTime = $endTime - $startTime;

    // 결과 출력
    echo "코드 실행 속도: {$executionTime} 초";
}

// 함수 호출
measureExecutionTime();
?>

 

 

[javascript] 코드 실행 시간 확인함수 만들어 사용하기

 measureExecutionTime()함수를 호출하여 js 코드 실행 시간을 확인할 수 있습니다.

function measureExecutionTime() {
    // 시작 시간 기록
    var startTime = performance.now();

    // 여기에 코드를 넣습니다.
    for (var i = 0; i < 1000000; i++) {
        // 작업 수행
    }

    // 종료 시간 기록
    var endTime = performance.now();

    // 실행 시간 계산
    var executionTime = endTime - startTime;

    // 결과 출력
    console.log("코드 실행 속도: " + executionTime + " 밀리초");
}

// 함수 호출
measureExecutionTime();

 

현재 시간을 밀리초 단위로 가져와요.

그런 다음, 코드 실행 전후에 시작 시간과 종료 시간을 기록하고, 두 시간의 차이를 계산하여 실행 시간을 측정해요.

마지막으로 실행 시간을 콘솔에 출력해 줘요.

 

<정리>

프론트 개발 시 내가 만든 코드의 실행 시간을 알아보는 공부를 해봤어요.

웹 브라우저별 메모리 처리 제한을 알아봤습니다. 

같은 코드도 크롬과 사파리에서 각각 다르게 동작할 수 있으니 확인이 필요하겠습니다.

 

measureExecutionTime()함수 를 만들어두고 내가 걱정되는 부분에 활용하면 처리시간을 밀리초 기준으로 알 수 있겠습니다. 감사합니다.

 

728x90
LIST
Comments