O nome hrtime vem de hight resolution time ou tempo de alta resolução.
hrtime retorna o tempo de alta resolução do sistema 🙂
Retorna uma matriz de inteiros no formato [segundos, nanossegundos]
<?php
echo hrtime(true);
?>
Resultado após atualizar o navegador de internet 3 vezes:
945984284631026
946214953992897
946227047032903
Parâmetros
se o parâmetro as_number for falso retorna uma matriz de inteiros no formato [segundos, nanossegundos]. Se for true são retornados como integer ou float:
<?php
echo hrtime(true);
echo "<pre>";
print_r(hrtime());
echo "</pre>";
?>
Resultado após atualizar o navegador de internet 3 vezes:
946463545380029
Array
(
[0] => 946463
[1] => 545382432
)
Conclusão
Em algumas sistemas, como KVM para máquinas virtuais, usar microtime() pode consumir e sobrecarregar o cpu; nesses casos a função hrtime() é essencial.