Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP microtime() 함수 – 마이크로초 단위 타임스탬프 사용법과 예제

PHP의 microtime() 함수는 현재 시간을 마이크로초(microseconds) 단위까지 포함하여 반환하는 함수입니다. 즉, 유닉스 타임스탬프(Unix timestamp)에 마이크로초 정보를 더한 값을 돌려주며, 코드 실행 시간 측정이나 정밀한 시간 기록에 널리 활용됩니다.

다만 이 함수는 운영체제가 gettimeofday() 시스템 콜을 지원하는 경우에만 사용할 수 있다는 점에 유의해야 합니다.

문법(Syntax)

microtime(get_as_float)

매개변수(Parameters)

  • get_as_float − 선택적 매개변수입니다. 이 인자 없이 호출하면 문자열 형태의 "msec sec"을 반환합니다. 여기서 sec은 유닉스 에포크(Unix Epoch, 1970년 1월 1일 00:00:00 GMT)부터 경과한 초 단위 시간이고, msec은 마이크로초 부분입니다. 만약 get_as_floatTRUE로 설정하면, 초 단위를 나타내는 실수(float) 값이 반환되어 계산하기 훨씬 편리합니다.

반환값(Return)

microtime() 함수는 마이크로초가 포함된 현재 유닉스 타임스탬프를 반환합니다. 앞서 언급했듯이, 이 함수는 gettimeofday() 시스템 콜을 지원하는 운영체제에서만 동작합니다.

예제 1: 기본 사용법

다음은 microtime() 함수의 기본적인 사용 예시입니다.

<?php
    echo(microtime());
?>

출력 결과

0.85623100
1539234951

예제 2: 코드 실행 시간 측정하기

microtime(true)를 활용하면 특정 코드 블록의 실행 시간을 손쉽게 측정할 수 있습니다. 아래 예제는 시작 시간과 종료 시간의 차이를 구해 소요 시간을 출력합니다.

<?php
    $time_start = microtime(true);
    usleep(100);
    $time_end = microtime(true);
    $time = $time_end - $time_start;
    echo "Did nothing in $time seconds\n";
?>

출력 결과

Did nothing in 0.00016498565673828 seconds

정리

microtime() 함수는 인자 없이 호출하면 "마이크로초 초" 형태의 문자열을 반환하고, true를 인자로 전달하면 계산이 용이한 실수형 값을 반환합니다. 성능 프로파일링이나 정밀한 시간 측정이 필요하다면 반드시 microtime(true) 형태로 사용하는 것이 좋습니다.