hrtime

(PHP 7 >= 7.3.0, PHP 8)

hrtime — YĂŒksek çözĂŒnĂŒrlĂŒklĂŒ sistem zamanını döndĂŒrĂŒr

Açıklama

function hrtime(bool $sayı_olarak = false): array|int|float|false

Zaman içinde rastgele bir noktadan itibaren sayılan, sistemin yĂŒksek çözĂŒnĂŒrlĂŒklĂŒ zamanını döndĂŒrĂŒr. Teslim edilen zaman damgası arttırılamaz, eksiltilemez ve ayarlanamaz.

Bağımsız Değißkenler

sayı_olarak

YĂŒksek çözĂŒnĂŒrlĂŒklĂŒ zamanı bir sayı olarak (true) veya bir dizi olarak (false) döndĂŒrĂŒlmek için kullanılır.

Dönen Değerler

sayı_olarak bağımsız değißkeninde false aktarılmıßsa [saniye, nanosaniye] biçiminde bir tamsayı dizisi, true aktarılmıßsa nanosaniye cinsinden zaman 64 bitlik sistemlerde int, 32 bitlik sistemlerde float tĂŒrĂŒnde bir sayı olarak döner. Baßarısızlık durumunda false döner.

Örnekler

Örnek 1 - hrtime() örneği

<?php
echo hrtime(true), PHP_EOL;
print_r(hrtime());
?>

Yukarıdaki örnek ßuna benzer bir çıktı ĂŒretir:

10444739687370679
Array
(
    [0] => 10444739
    [1] => 687464812
)

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
67
SenseiSimple ¶
7 years ago
This function is particularly necessary on VMs running on KVM, XEN (openstack, AWS EC2, etc) when timing execution times. 

On these platforms which lack vDSO the common method of using time() or microtime() can dramatically increase CPU/execution time due to the context switching from userland to kernel when running the `gettimeofday()` system call.

The common pattern is:
<?php
$time = -microtime(true);
sleep(5);
$end = sprintf('%f', $time += microtime(true));
?>

Substituted as:
<?php
$start=hrtime(true); 
sleep(5); 
$end=hrtime(true);
$eta=$end-$start;

echo $eta/1e+6; //nanoseconds to milliseconds
//5000.362419

//OR simply

$eta=-hrtime(true);
sleep(5);
$eta+=hrtime(true);

echo $eta/1e+6; //nanoseconds to milliseconds
//5000.088229
?>

There is also the new StopWatch class http://php.net/manual/en/class.hrtime-stopwatch.php