Question

Is this even possible in PHP?

If not, what is the highest precision available?

Was it helpful?

Solution

The microtime function is what you're looking for.

PHP does not supply a function that has higher precision than microseconds.

You can use the system function to get the value straight from the machine if you are running Linux:

$nanotime = system('date +%s%N');

%s is the amount of seconds, appended by %N, which is the amount of nanoseconds.

OTHER TIPS

microtime() is the highest precision using PHP's vocabulary. You can also make a system call by using Unix date and specify %N format if you need nanosecond accuracy. Unix ntp_gettime() has even higher resolution and returns jitter/wander/stability/shift/calibration data.

Now with this extension it's nanosecond timing is possible http://pecl.php.net/hrtime . Yet it is a stopwatch class implemented to suite the highest possible resolution on different platforms.

As of PHP 7.3 there's also a crossplatform hrtime() function in the core http://php.net/manual/en/function.hrtime.php.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top